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

实现当滑块滑动时,左侧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时,按钮就会出现在下方。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值