如图所示,在导航栏中添加横向多个按钮,向table页一样通过点击按钮可以来回的切换屏幕中央视图。
前面的文章中有介绍使用纯代码来添加一个图片视图,不过最近有盆友问我怎么使用IB来添加图片视图,刚好这篇我就介绍如何使用IB的方式来添加,其实很简单。
先把图片资源文件0.jpg拖入工程中,打开视图对应的.xib文件,如下图所示将imageView控件拖入视图中
Image:选中视图显示的资源文件
Tag:标志资源文件的索引,根据这个索引就可以拿到这个ImageView的对象。
导航栏的创建方法,还不会的朋友请看上一章,接下来在导航栏中添加segmented,横向按钮。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
- (void)viewDidLoad { [super viewDidLoad]; //创建一个导航栏 UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; //创建一个导航栏集合 UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:nil]; //向导航栏集合中添加横向按钮列表 NSArray *buttons = [NSArray arrayWithObjects:@"雨松MOMO", @"若若娃", @"小可爱", @"哇咔咔", nil]; UISegmentedControl* segmentedControl = [[UISegmentedControl alloc] initWithItems:buttons]; //设置横向按钮风格 segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; //添加按钮响应事件 [segmentedControl addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventValueChanged]; //把导航栏集合添加入导航栏中,设置动画关闭 [navigationBar pushNavigationItem:navigationItem animated:NO]; //将横向列表添加到导航栏 navigationItem.titleView = segmentedControl; //把导航栏添加到视图中 [self.view addSubview:navigationBar]; //释放对象 [navigationItem release]; [segmentedControl release]; } |
切换点击导航栏按钮后将执行buttonAction方法,这个方法中我主要说说[self.view viewWithTag:10 ]。意思就是根据索引找到id为10 的这个view对象,和上面介绍的Tag一一对应。这里和android 的开发有点像喔。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
-(void) buttonAction: (UISegmentedControl *) sender { //得到按钮点击索引 NSInteger index = sender.selectedSegmentIndex; //算出对应图片名称 NSString *show = [NSString stringWithFormat:@"%d%@",index,@".jpg"]; //通过tag得到视图对象 UIImageView *imageView = (UIImageView *)[self.view viewWithTag:10]; //绘制新图片 [imageView setImage:[UIImage imageNamed:show]]; } |
切换点击按钮后,看看效果,视图发生了改变,哇咔咔~~~
最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习雨松MOMO希望可以和大家一起进步。
下载地址:http://vdisk.weibo.com/s/abyYe
- 本文固定链接: https://www.xuanyusong.com/archives/590
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!