ios学习笔记之UI篇(二):slider,switch,SegmentedControl的应用

来源:互联网 发布:淘宝司法拍卖网站 编辑:程序博客网 时间:2024/05/16 08:48

实现当滑块滑动时,左侧label标签的数字跟随改变。

如图设置界面显示,调整slider的value属性,更改为最小值为0,最大值为100,current值为50,创建label的outlet并关连,对slider创建action方法如sliderChanged并关联,在action方法中实现如下代码:

- (IBAction)sliderChanged:(UISlider *)sender {    int progress=lroundf(sender.value);    self.sliderLabel.text=[NSString stringWithFormat:@"%d",progress];}
值得注意的是:为了在用户触碰滑块之前,标签也能正确显示滑块的值,再viewDidLoad方法中添加如下代码:
self.sliderLabel.text=@"50";


段控制视图设置界面如下图,


创建两个switch的outlet,和switch和segment的action方法,此处注意是将两个开关关联到一个action方法上,不是分别创建两个action方法,action方法具体实现如下,

开关的action方法:

- (IBAction)switchChanged:(UISwitch *)sender {    BOOL setting=sender.isOn;    [self.leftSwitch setOn:setting animated:YES];    [self.rightSwitch setOn:setting animated:YES];}

再拖动一个按钮放置在两个开关之上,调整大小完全覆盖两个switch开关,设置这个button的属性,view->hidden选中,此时,button按钮会变的透明了如下图:



segment的action方法:

- (IBAction)toggleControls:(UISegmentedControl *)sender {    //0=switch index    if (sender.selectedSegmentIndex==0) {        self.leftSwitch.hidden=NO;        self.rightSwitch.hidden=NO;        self.doSomethingButton.hidden=YES;    }else{        self.leftSwitch.hidden=YES;        self.rightSwitch.hidden=YES;        self.doSomethingButton.hidden=NO;    }}

此时,当运行应用程序时,初始显示没有button按钮,两个开关是关联的,即转换一个开关,另一个开关也会跟着改变。当按下segment的button时,按钮就会出现在下方。




原创粉丝点击