分段选择按钮
1.使用多个按钮的时候,可以选择分段选择按钮
2.初始化:
UISegmentedControl *segment = [ [UISegmentedControl alloc] initWithItems: @[@“娱乐”,@“军事”,@“科技”] ];
segment.frame = CGRectmake(100,100,250,40);
segment.momentary = YES;
[self.view addSubview: segment];
分段选择按钮和其他按钮一样,点击其中一个的时候也会触发响应的事件
在导航栏上添加分段按钮,下面是代码:
NSArray *segmentedArray = [NSArray arrayWithObjects:@"按钮1",@"按钮2",nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc]initWithItems:segmentedArray];
segmentedControl.frame = CGRectMake(0.0, 0.0, 140.0, 30.0);
segmentedControl.selectedSegmentIndex = 0;
segmentedControl.tintColor = [UIColor colorWithRed:1.000 green:0.991 blue:0.917 alpha:1.000];
[segmentedControl addTarget:self action:@selector(selectAiction:)
forControlEvents:UIControlEventValueChanged];
[self.navigationController.navigationBar.topItem setTitleView:segmentedControl];
开关按钮
1.一般需要记录用户设置的状态
1⃣️:可以用后台提供的借口 设置开关按钮的开和关 (可以在不同的设备之间同步信息)
2⃣️:在本地保存设置 (只能在一台手机上保存状态)
2.初始化以及使用:
UISwitch *switch = [ [ UISwitch alloc] initWithFrame : CGRectMake(70,70,60,40)];
[self.view addSubview:switch];
�️ : 设置Switch的默认状态
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
switch.on = [ defaults boolForKey : @“ isOn ”];
[swith addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];
�️:开关按钮的方法实现:
- (void) switchAction:(UISwitch *) sender{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:sender.isOn forKey:@"isOn"];
NSLog(@"%d",sender.isOn);
}
�️ 设置开关按钮 打开的时候 轨道的颜色
swith.onTintColor = [UIColor redColor];
�️ 设置开关按钮 关闭的时候 轨道的颜色
swith.tintColor = [UIColor darkGrayColor];
�️ 设置开关按钮 小圆圈颜色
swith.thumbTintColor = [UIColor lightGrayColor];
滑杆
1.初始化以及使用:
UISlider *slider = [ [ UISlider alloc ] initWithFrame:CGRectMake:(100,300,200,10)];
slider addTarget: self action: @selector( sliderAction:) forControlEvents:UIControlEventValueChanged ];
�️:滑杆方法实现:
- (void) sliderAction:(UISlider *) sender{
animation.animationDuration = sender.value;
NSLog(@"%0.2f",sender.value);
}
�️: 设置滑杆的最小值
slider.minimumValue = 1;
�️: 设置滑杆的最大值
slider.maximumValue = 10;
�️: 设置滑杆默认的位置
slider.value = 1;
�️: 设置最小的轨道颜色
slider.minimumTrackTintColor = [UIColor redColor];
�️: 设置滑杆最大值的轨道颜色
slider.maximumTrackTintColor = [UIColor purpleColor];
�️: 设置小圆圈的颜色
slider.thumbTintColor = [UIColor blackColor];
[self.view addSubview:slider];
心得:
最近在 程序执行顺序 数据重复初始化两个问题上出了很多此错误,并且自己毫无知觉,就目前的情况来总结,有以下心得:
1⃣️:for循环会重复初始化,在创建窗口多个一样的视图的时候可以用(要在for循环内部写初始化代码)。如果定时器监听的方法内有for循环,那么初始化就不要写在for循环内部了,这样会导致系统内存暴涨,会崩溃。
2⃣️:定时器也会重复初始化,如果某一数据在程序运行时想要改变它,就不要写在定时器监听的方法内,这样会导致数据无法改变,因为定时器运行一次,数据更新一次。