在导航栏中加上分段控件是很常用的做法,效果如下:
UISegmentedControl *segmentedControl=[[UISegmentedControl alloc] initWithFrame:CGRectMake(80.0f, 8.0f, 300.0f, 30.0f) ]; [segmentedControl insertSegmentWithTitle:@"最新上架" atIndex:0 animated:YES]; [segmentedControl insertSegmentWithTitle:@"热销商品" atIndex:1 animated:YES]; [segmentedControl insertSegmentWithTitle:@"促销商品" atIndex:2 animated:YES];
//[segmentedControl insertSegmentWithImage:[UIImageimageNamed:@"style12"] atIndex:0animated:YES];
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
//segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled;
segmentedControl.momentary = YES;
segmentedControl.multipleTouchEnabled=NO;
//segmentedControl.userInteractionEnabled=YES;
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
//segmentedControl.tintColor=[UIColor clearColor];
UIBarButtonItem *homeBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
self.navigationItem.rightBarButtonItem = homeBarItem;
对应的方法:
-(void)segmentAction:(UISegmentedControl *)Segment{ NSInteger index = Segment.selectedSegmentIndex; if (index == 0) { //最新上架 NewestGoods *newestGoods = [[NewestGoods alloc] initWithNibName:@"NewestGoods" bundle:nil]; newestGoods.navigationItem.title = @"最新上架"; [self.navigationController pushViewController:newestGoods animated:YES]; }else if (index == 1) { //热销商品 HotItems *hotItems = [[HotItems alloc] initWithNibName:@"HotItems" bundle:nil]; hotItems.navigationItem.title = @"热销商品"; [self.navigationController pushViewController:hotItems animated:YES]; }else { //促销商品 PromotionsGoods *promotionsGoods = [[PromotionsGoods alloc] initWithNibName:@"PromotionsGoods" bundle:nil]; promotionsGoods.navigationItem.title = @"促销商品"; [self.navigationController pushViewController:promotionsGoods animated:YES]; } }
本文介绍如何在iOS应用中使用UISegmentedControl创建导航栏分段控件,并展示了如何通过点击不同分段来切换显示不同的视图控制器。

1285

被折叠的 条评论
为什么被折叠?



