IOS 导航栏按钮切换(三)

如图所示,在导航栏中添加横向多个按钮,向table页一样通过点击按钮可以来回的切换屏幕中央视图。

 

 

前面的文章中有介绍使用纯代码来添加一个图片视图,不过最近有盆友问我怎么使用IB来添加图片视图,刚好这篇我就介绍如何使用IB的方式来添加,其实很简单。


先把图片资源文件0.jpg拖入工程中,打开视图对应的.xib文件,如下图所示将imageView控件拖入视图中

Image:选中视图显示的资源文件

Tag:标志资源文件的索引,根据这个索引就可以拿到这个ImageView的对象。

 

导航栏的创建方法,还不会的朋友请看上一章,接下来在导航栏中添加segmented,横向按钮。

01 - (void)viewDidLoad
02 {
03     [super viewDidLoad];
04  
05     //创建一个导航栏
06     UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
07  
08     //创建一个导航栏集合
09     UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:nil]; 
10  
11     //向导航栏集合中添加横向按钮列表
12     NSArray *buttons = [NSArray arrayWithObjects:@"雨松MOMO", @"若若娃", @"小可爱", @"哇咔咔", nil];
13     UISegmentedControl* segmentedControl = [[UISegmentedControl alloc] initWithItems:buttons];
14  
15     //设置横向按钮风格
16     segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
17  
18     //添加按钮响应事件
19     [segmentedControl addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventValueChanged];
20  
21     //把导航栏集合添加入导航栏中,设置动画关闭
22     [navigationBar pushNavigationItem:navigationItem animated:NO];
23  
24     //将横向列表添加到导航栏
25     navigationItem.titleView = segmentedControl;
26  
27     //把导航栏添加到视图中
28     [self.view addSubview:navigationBar]; 
29  
30     //释放对象
31     [navigationItem release];
32     [segmentedControl release];
33  
34 }

切换点击导航栏按钮后将执行buttonAction方法,这个方法中我主要说说[self.view viewWithTag:10 ]。意思就是根据索引找到id为10 的这个view对象,和上面介绍的Tag一一对应。这里和android 的开发有点像喔。

01 -(void) buttonAction: (UISegmentedControl *) sender
02 {
03     //得到按钮点击索引
04     NSInteger index = sender.selectedSegmentIndex;
05  
06     //算出对应图片名称
07     NSString *show = [NSString stringWithFormat:@"%d%@",index,@".jpg"];
08  
09     //通过tag得到视图对象
10     UIImageView *imageView = (UIImageView *)[self.view viewWithTag:10];
11  
12     //绘制新图片
13     [imageView setImage:[UIImage imageNamed:show]]; 
14  
15 }

切换点击按钮后,看看效果,视图发生了改变,哇咔咔~~~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值