如图所示,在导航栏中添加横向多个按钮,向table页一样通过点击按钮可以来回的切换屏幕中央视图。
前面的文章中有介绍使用纯代码来添加一个图片视图,不过最近有盆友问我怎么使用IB来添加图片视图,刚好这篇我就介绍如何使用IB的方式来添加,其实很简单。
先把图片资源文件0.jpg拖入工程中,打开视图对应的.xib文件,如下图所示将imageView控件拖入视图中
Image:选中视图显示的资源文件
Tag:标志资源文件的索引,根据这个索引就可以拿到这个ImageView的对象。
导航栏的创建方法,还不会的朋友请看上一章,接下来在导航栏中添加segmented,横向按钮。
06 | UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; |
09 | UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:nil]; |
12 | NSArray *buttons = [NSArray arrayWithObjects:@ "雨松MOMO" , @ "若若娃" , @ "小可爱" , @ "哇咔咔" , nil]; |
13 | UISegmentedControl* segmentedControl = [[UISegmentedControl alloc] initWithItems:buttons]; |
16 | segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; |
19 | [segmentedControl addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventValueChanged]; |
22 | [navigationBar pushNavigationItem:navigationItem animated:NO]; |
25 | navigationItem.titleView = segmentedControl; |
28 | [self.view addSubview:navigationBar]; |
31 | [navigationItem release]; |
32 | [segmentedControl release]; |
切换点击导航栏按钮后将执行buttonAction方法,这个方法中我主要说说[self.view viewWithTag:10 ]。意思就是根据索引找到id为10 的这个view对象,和上面介绍的Tag一一对应。这里和android 的开发有点像喔。
01 | -( void ) buttonAction: (UISegmentedControl *) sender |
04 | NSInteger index = sender.selectedSegmentIndex; |
07 | NSString *show = [NSString stringWithFormat:@ "%d%@" ,index,@ ".jpg" ]; |
10 | UIImageView *imageView = (UIImageView *)[self.view viewWithTag:10]; |
13 | [imageView setImage:[UIImage imageNamed:show]]; |
切换点击按钮后,看看效果,视图发生了改变,哇咔咔~~~