UISegmentControl
2015-08-22 11:37
387 查看
QQ的显示有消息,电话两个选项。
本次就是制作一个QQ简单布局视图。
本程序的机构是创建一个根视图控制器,一个Message视图控制器,一个Phone视图控制器。对视图的控件没有添加,只是利用SegmentControl来切换视图。
重点
1.SegmentControl默认显示
2.可以给segment添加图片,但必须是镂空图。
3.用switch来选择点击了那个按钮;
4.给segment添加方法
下面是根视图控制器的源代码
本次就是制作一个QQ简单布局视图。
本程序的机构是创建一个根视图控制器,一个Message视图控制器,一个Phone视图控制器。对视图的控件没有添加,只是利用SegmentControl来切换视图。
重点
1.SegmentControl默认显示
_segmentC.selectedSegmentIndex = 0;
2.可以给segment添加图片,但必须是镂空图。
3.用switch来选择点击了那个按钮;
switch (segment.selectedSegmentIndex)
4.给segment添加方法
[_segmentC addTarget:self action:@selector(exchangeView:) forControlEvents:UIControlEventValueChanged];
下面是根视图控制器的源代码
#import "RootViewController.h" #import "MessageViewController.h" #import "PhoneViewController.h" @interface RootViewController () @property(nonatomic,retain)UISegmentedControl *segmentC; @property(nonatomic,retain)MessageViewController *messageVC; @property(nonatomic,retain)PhoneViewController *phoneVC; @end @implementation RootViewController - (void)dealloc { [_segmentC release]; [super dealloc]; } - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; #pragma mark -------------UISegmentedControl [self createSegmentControl]; // Do any additional setup after loading the view. #pragma mark -----------------向容器视图控制器中添加子视图控制器 [self createChildViewControllers]; } -(void)createChildViewControllers { self.messageVC = [[MessageViewController alloc]init]; self.phoneVC = [[PhoneViewController alloc]init]; // MessageViewController *mesVC = [[MessageViewController alloc]init] ; // // PhoneViewController *phoneVC = [[PhoneViewController alloc]init]; [self addChildViewController:_messageVC]; [self addChildViewController:_phoneVC]; [self.view addSubview:_messageVC.view]; [self.view bringSubviewToFront:_segmentC]; [_phoneVC release]; [_messageVC release]; } -(void)createSegmentControl{ UIImage *image1 = [UIImage imageNamed:@"360.png"]; NSArray *tittle = @[@"消息",@"电话",image1]; self.segmentC = [[UISegmentedControl alloc]initWithItems:tittle]; [self.view addSubview:_segmentC]; _segmentC.frame = CGRectMake(100, 100, 150, 50); CGPoint temp = CGPointMake([UIScreen mainScreen].bounds.size.width/2, 50); _segmentC.center = temp; //默认选中 _segmentC.selectedSegmentIndex = 0; //颜色 [_segmentC setTintColor:[UIColor redColor]]; [_segmentC addTarget:self action:@selector(exchangeView:) forControlEvents:UIControlEventValueChanged]; [_segmentC release]; } -(void)exchangeView:(UISegmentedControl *)segment{ //打印点击了那个按钮 NSLog(@"%d",segment.selectedSegmentIndex); switch (segment.selectedSegmentIndex) { case 0: { //显示messageVC if (_messageVC.view.superview == nil) { [_phoneVC.view removeFromSuperview]; [self.view addSubview:_messageVC.view]; } //让segmentC显示 [self.view bringSubviewToFront:_segmentC]; } break; case 1: { //显示phonevC if (_phoneVC.view.superview == nil) { [_messageVC.view removeFromSuperview]; [self.view addSubview:self.phoneVC.view]; } //让segmentC显示 [self.view bringSubviewToFront:_segmentC]; } break; default: break; } }
相关文章推荐
- UILabel 根据内容的多少来计算label的frame
- Guest与virtio netdev交互模式
- POJ 2478 Farey Sequence
- Android source build/envsetup.sh 及lunch 过程
- UI-UILabel
- POJ 2487:Farey Sequence
- android模拟器 一个错误:X Error of failed request: BadRequest (invalid request code or no such operation)
- UIDatePicker的使用
- (java gui) 和 (网页 js) 通过url传值(如json)时,注意问题
- UITableView的简单使用
- 【转】自定义UITableViewCell(registerNib: 与 registerClass: 的区别)
- POJ---2524-Ubiquitous Religions(并查集)
- NGUI之图文混排
- UIPickerView的使用
- iOS UIControl 几个事件的说明
- 黑马程序员--OC之UIKit类的继承结构图
- xcode -UI 学习笔记
- 重用从xib加载的UITableViewCell
- HDU-5146_Sequence
- D Tree Requests dfs+二分 D Pig and Palindromes -dp