关闭

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

标签: labelslider
997人阅读 评论(0) 收藏 举报
分类:

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




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7525次
    • 积分:157
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档