iOS开发5:UISlider与UISwitch控件

一、UISlider控件就像其名字同样,是一个像滑动变阻器的控件:ide

上图中的圆圈能够移动,它处在不一样的位置,这个UISlider会有不一样的值。接下来的例子是关于UISlider的简单使用。code

(1)假设咱们已经创建了一个Single View Application,打开ViewController.xib,在IB中添加一个UISlider控件和一个Label,这个Label用来显示Slider的值。orm

(2)选中新加的Slider控件,打开Attribute Inspector,修改属性值,设置最小值为0,最大值为100,当前值为50,并确保勾选上Continuous,以下图:事件

(3)修改Label的文本为50。string

(4)接下来仍是创建映射,将Label和Slider都映射到ViewController.h中,其中Label映射为Outlet,名称为sliderLabel,Switch映射为Action,事件类型为默认的Value Changed,方法名称为sliderChanged:it

(5)打开ViewController.m,找到sliderChanged方法,在其中添加如下代码:io

- (IBAction)sliderChanged:(id)sender {
    UISlider *slider = (UISlider *)sender;
    int progressAsInt = (int)roundf(slider.value);
    sliderLabel.text = [NSString stringWithFormat:@"%i", progressAsInt];
}

代码很简单,就不解释了。class

(6)运行一下,看看效果:方法

  

二、UISwitch控件,就是很像开关的那种控件,它只有两个状态:on和off:im

接下来的小例子,咱们将会实现:改变任一Switch的状态,另外一个Switch也发生一样的变化。

(1)在上面的例子中,打开ViewController.xib,在IB中添加两个UISwitch控件。

(2)将这两个Switch控件都映射到ViewController.h中,都映射成Outlet,名称分别是leftSwitch和rightSwitch。

(3)选中左边的Switch,按住Control键,在ViewController.h中映射成一个Action,事件类型默认为Value Changed,名称为switchChanged:

(4)而后,咱们让右边的Switch也映射到这个方法:

(5)打开ViewController.m,找到switchChanged方法,添加代码:

- (IBAction)switchChanged:(id)sender {
    UISwitch *mySwitch = (UISwitch *)sender;
    BOOL setting = mySwitch.isOn;	//得到开关状态
    [leftSwitch setOn:setting animated:YES];	//设置开关状态
    [rightSwitch setOn:setting animated:YES];
}

(6)运行一下,看看效果:

 

相关文章
相关标签/搜索