如下图所示,该案例包括两个开关控件、一个分段控件、两个标签控件和一个滑块控件。两个开关控件的值保持一致,点击其中一个,令其值为ON,另一个也会随之改变;一个有两段的分段控件,左侧和右侧的段分别命名为Left和Right,点击Right时两个开关控件消失,点击Left时两个开关控件显示;后面的滑块控件可以改变标签SliderValue的内容,把滑块变化的数值显示在后面。
案例原型设计图
使用Single View Application 模板创建一个名为 Switch_Slider_SegmentedControlSample 的工程。打开Main.storyboard文件,从对象库中拖曳两个开关控件到界面,然后为两个开关控件指定输出口,分别命名为LeftSwitch和RightSwitch。在ViewController中声明一个switchValueChanged:方法,该方法的作用是同时设置两个开关的值,使它们的值保持一致,其实现代码如下:
@IBAction func switchValueChanged (sender: AnyObject) {
var witchSwitch = sender as UISwitch
var setting = witchSwitch.on
self.LeftSwitch.setOn(setting, animated: true)
self.RightSwitch.setOn(setting, animated: true)
}
- (IBAction)switchValueChanged:(id)sender {
UISwitch *witchSwitch = (UISwitch *)sender;
BOOL setting = witchSwitch.isOn;
[self.leftSwitch setOn:setting animated:YES];
[self.rightSwitch setOn:setting animated:YES];
}
开关控件的功能类似于Windows中的复选框,它只有两种状态——true和false,两种状态的切换方法是setOn:animated:。
二、滑块控件
如果在南昌APP开发练习中,我们可以在视图上拖曳一个滑块控件,然后将其水平放置。打开它的属性检查器,将其最小值、最大值、初始值依次
设定为0.0、100.0、50.0。在iOS开发中,滑块的值是0.0与100.0之间的浮点数。
在滑块上方拖曳两个标签,将左侧标签的文本改为SliderValue:,将右侧标签的文本清除,并为其实现输出口,命名为SliderValue。右侧的标签用于显示滑块的值,也就是滑块控制着标签的值,这里我们为滑块实现一个动作,将其命名为sliderValueChange。实现sliderValueChange:方法的代码如下:
@IBAction func sliderValueChange(sender: AnyObject) {
var slider = sender as UISlider
let progressAsInt = Int(slider.value) ①
let newText = NSString(format: "%d", progressAsInt) ②
self.SliderValue.text = newText
}
- (IBAction)sliderValueChange:(id)sender {
UISlider *slider = (UISlider *)sender;
int progressAsInt = (int)(slider.value); ①
NSString *newText = [[NSString alloc]initWithFormat:@"%d",progressAsInt]; ②
self.SliderValue.text = newText;
}
第①行代码是滑块控件的值,由于取出的值是浮点类型,我们需要强制类型转换为整数类型。第②行代码是格式化字符串。
三、分段控件
分段控件也是一种选择控件,其功能类似于Windows中的单选按钮。它由两段或更多段构成,每个段相当于
一个独立的按钮。它有三种样式——Plain、Bordered和Bar样式,但是iOS 7之后这三种样式没有什么区别,它们的样式如下图所示。
分段控件样式
@IBAction func touchDown(sender: AnyObject) {
if (self.LeftSwitch.hidden == true) {
self.RightSwitch.hidden = false
self.LeftSwitch.hidden = false
}else {
self.RightSwitch.hidden = true
self.LeftSwitch.hidden = true
}
}
- (IBAction)touchDown:(id)sender {
if (self.leftSwitch.hidden == YES) {
self.rightSwitch.hidden = NO;
self.leftSwitch.hidden = NO;
}else{
self.leftSwitch.hidden = YES;
self.rightSwitch.hidden = YES;
}
以上就是南昌APP开发公司小编为大家讲的关于开关控件、滑块控件和分段控件的详细介绍,如果还有哪些地方还不太明白的,随时欢迎大家来电咨询。另外,想了解更多关于APP开发方面的知识的朋友,欢迎大家关注百恒网络网站的相关知识,相信大家一定会有所收获!