你的位置:首页 > 操作系统

[操作系统]iOS阶段学习第34天笔记(UI小组件 UISegment


iOS学习(UI)知识点整理

一、UI小组件

1、UISegmentedControl 分段选择器  实例代码

 1 - (void)viewDidLoad { 2   [super viewDidLoad]; 3   //分段选择器 4   //在iOS6里,每个段的宽度会根据字数来决定 5   //iOS7以后,每个段的宽度相同,宽度取决于最长的字数 6   self.view.backgroundColor=[UIColor whiteColor];    7   seg=[[UISegmentedControl alloc]initWithItems:@[@"消息",@"视频电话"]];    8   self.navigationItem.titleView=seg;  9   //设置选中的某一个选项  10   seg.selectedSegmentIndex=1; 11   12   UIButton *button=[[UIButton alloc]init];13   button.frame=CGRectMake(80, 100, 200, 30);14   button.backgroundColor=[UIColor blackColor];15   [button setTitle:@"添加" forState:UIControlStateNormal];16   [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];17   [button addTarget:self action:@selector(touchButton:) forControlEvents:UIControlEventTouchUpInside];18   19   [self.view addSubview:button]; 20   UIButton *rmbutton=[[UIButton alloc]init];21   rmbutton.frame=CGRectMake(80, 200, 200, 30);22   rmbutton.backgroundColor=[UIColor blackColor];23   [rmbutton setTitle:@"移除" forState:UIControlStateNormal];24   [rmbutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];25   [rmbutton addTarget:self action:@selector(touchRmButton:) forControlEvents:UIControlEventTouchUpInside]; 26   [self.view addSubview:rmbutton]; 27  //给seg添加点击事件的监听28   [seg addTarget:self action:@selector(changeView:) forControlEvents:UIControlEventValueChanged]; 29  }30 31 //插入一个图片组成的段32 -(void)touchButton:(UIButton*)button{   33   //[seg insertSegmentWithTitle:button.titleLabel.text atIndex:2 animated:YES];34  [seg insertSegmentWithImage:[UIImage imageNamed:@"005"] atIndex:2 animated:YES];35   36 }37 //移除某一个segment38 -(void)touchRmButton:(UIButton*)button{   39   [seg removeSegmentAtIndex:1 animated:YES];   40 } 41 //按钮点击事件42 -(void)changeView:(UISegmentedControl*)mseg{43   NSLog(@"%li",mseg.selectedSegmentIndex);   44 }

2、UISlider 滑动条 实例代码

 1 - (void)viewDidLoad { 2   [super viewDidLoad];    3   //设置的高度无效 4   UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(10, 100, 300, 200)]; 5   [self.view addSubview:slider];    6   //滑块的最大值 7   slider.maximumValue = 1.0;    8   //滑块的最小值 9   slider.minimumValue = 0.0;   10   //滑块的当前值11   slider.value = 0.1;   12   //是否连续:NO:在滑动过程中,不会响应方法,只有在停止滑动时,才会调用对应的事件方法13   slider.continuous = YES;   14   [slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];15   16 }17 18 //滑动滑块改变视图背景色19 -(void)sliderAction:(UISlider *)slider20 {21   NSLog(@"%f",slider.value);22   self.view.backgroundColor = [UIColor colorWithRed:slider.value green:1.0 - slider.value blue:slider.value alpha:1];23   24 }

3、UIStepper和UIProgressView 步进器与进度条的使用 实例代码

 1 @interface ViewController () 2 { 3   UIProgressView *_pro; 4 } 5 @end 6  7 @implementation ViewController 8 - (void)viewDidLoad { 9   [super viewDidLoad];10   11   //设置的size信息无效,大小是固定的12   UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(10, 100, 300, 200)];13   //设置最大值14   stepper.maximumValue = 100;   15   //设置最小值16   stepper.minimumValue = 0;   17   //设置当前值18   stepper.value = 10;   19   //设置步进值20   stepper.stepValue = 5;   21   //设置颜色22   stepper.tintColor = [UIColor orangeColor];23   [self.view addSubview:stepper];24    [stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];25   //进度条,高度无效26   UIProgressView *pro = [[UIProgressView alloc]initWithFrame:CGRectMake(10, 200, 300, 100)];27   _pro = pro;28   29   //值是0.0-1.030   pro.progress = 0.5;   31   pro.progressTintColor = [UIColor redColor];   32   [self.view addSubview:pro];33 }34 35 //通过步进器改变进度条的值36 -(void)stepperAction:(UIStepper *)stepper37 {38   NSLog(@"%f",stepper.value);   39   _pro.progress = stepper.value / stepper.maximumValue;   40 }

4、UISwitch和UIActivityIndicatorView 开关与活动指示器的使用 实例代码

 9 - (void)viewDidLoad {10   [super viewDidLoad]; 

//注意页面背景色不能为白色,否则看不到活动器因为活动器本身为白色12 self.view.backgroundColor = [UIColor blackColor]; 14 //长宽无效15 UISwitch *s = [[UISwitch alloc]init];16 s.center = self.view.center;17 //设置UISwitch的开关状态18 s.on = YES; 20 [self.view addSubview:s]; 21 [s addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged]; 22 _activity = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];23 [self.view addSubview:_activity]; 24 _activity.center = CGPointMake(100, 100); 25 [_activity startAnimating]; }28 29 -(void)switchAction:(UISwitch *)s30 {31 NSLog(@"%d",s.on);32 if (s.on) {33 //开启活动指示器34 [_activity startAnimating];35 }36 else37 {38 //关闭活动指示器39 [_activity stopAnimating];40 }41 }

5、UITextView 多行文本框  实例代码

 1 - (void)viewDidLoad { 2   [super viewDidLoad]; 3    4   //解决多行文本框光标不从左上角开始问题 5   self.automaticallyAdjustsScrollViewInsets = NO;    6   //多行文本框 7   UITextView *tv = [[UITextView alloc]initWithFrame:CGRectMake(10, 100, 300, 100)]; 8    9   tv.backgroundColor = [UIColor grayColor];   10   [self.view addSubview:tv];   11   tv.delegate = self;12 }13 14 //文本框内容变化时触发;返回值表示能否修改内容15 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text16 {17   //文本变化范围18   NSLog(@"%@",NSStringFromRange(range));19   //文本内容20   NSLog(@"%@",text);   21   return YES; 22 }