【代码笔记】iOS-点击加号增加书架,点击减号减少书架
一,效果图。

二,工程图。

三,代码。
ReaderViewController.h

#import <UIKit/UIKit.h> @interface ReaderViewController : UIViewController
<UIScrollViewDelegate>
{
UIScrollView *scrollView;
}
@property(nonatomic,strong) UIScrollView *scrollView;;
-(void)add;
-(void)dele;
-(void)reloadView; @end

ReaderViewController.m

#import "ReaderViewController.h" #define ImageHeight 120
static int num = 0; @interface ReaderViewController () @end @implementation ReaderViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
} - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view. //字体的颜色
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:248.0/255.0 green:172.0/255.0 blue:37.0/255.0 alpha:1.0];
//导航栏背景图
[self addBackgroundView:@"1.png"]; //左侧删除按钮
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc]
initWithTitle:@"delete"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(dele)];
//右侧增加按钮
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(add)]; self.navigationItem.rightBarButtonItem = rightBarButton;
self.navigationItem.leftBarButtonItem = leftBarButton; //scrollerView
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)];
scrollView.contentSize=CGSizeMake(320,480); //设置背景颜色
UIImage *backimg=[UIImage imageNamed:@"3.png"];
UIImageView *backview=[[UIImageView alloc] initWithImage:backimg];
backview.frame=CGRectMake(0, 0, 320, 480);
[self.view addSubview:backview]; [self.view addSubview:scrollView];
//重新刷新界面
[self reloadView]; }
//导航栏上标题
-(void)addBackgroundView:(NSString*)image{ UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:image]];
imgView.frame = CGRectMake(0, 0, 320, 44);
[self.navigationController.navigationBar addSubview: imgView]; UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake((320-150)/2, 0, 150, 44)];
[title setText:@"书架"];
[title setTextColor:[UIColor whiteColor]];
[title setTextAlignment:NSTextAlignmentCenter];
[title setShadowColor:[UIColor grayColor]];
[title setBackgroundColor:[UIColor clearColor]];
[title setFont:[UIFont boldSystemFontOfSize:20.0]];
[self.navigationController.navigationBar addSubview:title];
} //添加一个书架
-(void)add{ num++; UIImage *backimg=[UIImage imageNamed:@"2.png"];
UIImageView *backview=[[UIImageView alloc] initWithImage:backimg];
backview.frame=CGRectMake(0, (num-1)*ImageHeight, 320, ImageHeight);
backview.tag = num+100; [scrollView addSubview:backview]; if (num>3) {
scrollView.contentSize=CGSizeMake(320,num*ImageHeight);
}
} //删除一个书架
-(void)dele{ if (num<=0) {
return;
} for (UIView *view in scrollView.subviews) {
if(view.tag == (num+100))
[view removeFromSuperview];
} num--; if (num>3) {
scrollView.contentSize=CGSizeMake(320,num*ImageHeight);
} } //主界面初始化
-(void)reloadView{ NSLog(@"reloadView");
//遍历当前界面的所有子界面,把子界面删除干净
for(UIView *view in scrollView.subviews){
[view removeFromSuperview];
} scrollView.showsVerticalScrollIndicator=NO;
scrollView.showsHorizontalScrollIndicator=NO;
scrollView.delegate=self;
[scrollView setScrollEnabled:YES]; } - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

【代码笔记】iOS-点击加号增加书架,点击减号减少书架的更多相关文章
- easyUI在使用字符串拼接时样式不起作用,点击加号增加一行,点击减号删除一行效果。
拼接的按钮没有样式,需要使用 var str = $("<a href='javascript:void(0)' class='easyui-linkbutton' onclick=' ...
- iOS中CollectionView由于多次点击造成错误的解决方案
iOS中CollectionCiew由于多次点击,会给程序造成错误. 这个时候,我们可以用过手势类来进行判断和过滤. 但是,有一个快捷的解决方法,那就是给用户响应增加延时操作. 具体代码如下: [co ...
- IOS开发笔记 IOS如何访问通讯录
IOS开发笔记 IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...
- 笔记-iOS 视图控制器转场详解(上)
这是一篇长文,详细讲解了视图控制器转场的方方面面,配有详细的示意图和代码,为了使得文章在微信公众号中易于阅读,seedante 辛苦将大量长篇代码用截图的方式呈现,另外作者也在 Github 上附上了 ...
- 如何让dedecms文章点击量增加一定的数值
用dedecms建站都知道有一个文章点击量这个参数,我们可不可以用这个浏览量做些延伸扩展呢?比如加上一个固定值变成另外一个指标.很多朋友已经想到了,如下图,我们将本文浏览量286设为点击量,加上300 ...
- 前端学习:JS(面向对象)代码笔记
前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...
- ios h5 app avalon tap点击事件失效及点击延迟300ms问题解决方法
1.ios h5 app avalon tap事件失效 使用MUI制作app界面,使用avalon.js渲染数据,发现在(Android上正常)ios上运行时容器div的avalon的ms-on-ta ...
- 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程
一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...
- 【hadoop代码笔记】hadoop作业提交之汇总
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...
随机推荐
- ASP.NET MVC网站在opera mobile emulator中浏览
众所周知,ASP.NET MVC4有一个Moblie Application,我们都可以通过这个来开发手机网站,当然为了简单,也可以在一般的MVC中的View下面加个后缀mobile,形如I ...
- AdjustWindowRect与AdjustWindowRectEx
AdjustWindowRect 根据所需的矩形大小,计算所需的矩形的大小;然后,窗口矩形可以传递给CreateWindow函数创建一个窗口. AdjustWindowRectEx 是AdjustWi ...
- 表单input中录入资料的检查方法及示例
本文内容 表单录入信息的检查原则 常见检查的三种方法 示例 输入框有字符长度的限制 输入框有输入字符个数范围的限制 知识补给--检查方式的介绍 输入框只可(或不可)输入数 ...
- C#调用Java方法(详细实例)
C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...
- C# Graphics绘图 picBox
需求: Bitmap bm = new Bitmap(picboxPreview.Width, picboxPreview.Height); using (Graphics g = Graphics. ...
- Nlog 记录日志到 sqlite
最近研究了一下Nlog这个日志框架,这里记录一下如何将日志写到sqlite中. 第一步:使用NuGet获取Nlog和Sqlite 第二步:在sqlite中创建一个database,这里我用了SQLit ...
- 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
[源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...
- 使用MySQL WorkBench导入数据库
1. 在MySQL WorkBench的Server Administrator中双击要连接的数据库: 2. 点击左边的Data Import/Restore; 3. Import from Dump ...
- 关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题. Class.getResource(Stri ...
- [教学] Firemonkey TImageList 加入原寸图片
下面示范 Firemonkey TImageList 加入一张原始尺寸图片的方法: 使用代码加图 if Assigned(List) then begin MyList.Items.Clear; do ...