您的位置:首页 > 移动开发 > IOS开发

IOS 入门开发之导航栏按钮切换

2012-03-12 08:57 483 查看
如图所示,在导航栏中添加横向多个按钮,向table页一样通过点击按钮可以来回的切换屏幕中央视图。





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

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

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

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





导航栏的创建方法,还不会的朋友请看上一章,接下来在导航栏中添加segmented,横向按钮。
- (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 的开发有点像喔。
-(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]];

}


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





下载地址:http://down.51cto.com/data/264095

本文出自 “雨松MOMO的程序世界
博客,出处http://xys289187120.blog.51cto.com/3361352/686309
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐