Swift 3中的分段控制教程

在本教程中,学习如何为iOS 10创建分段控件分段控件允许用户在每次按下按钮时更改其应用程序中的内容。 在本教程中,我们将创建一个基本的分段控件,以在每次按下按钮时更改标签的文本。

让我们开始吧

首先,打开Xcode并单击Create a new Xcode project 。 然后,在iOS标签下选择“ 单一视图应用程序 ”。 单击下一步

然后,在“ 产品名称”字段中,输入SegmentedControl 。 在“ 组织名称”和“ 组织标识符”字段中,键入所需的任何名称。 确保在“ 语言 ”下选择“ Swift” ,在“ 设备”中选择“ iPhone” 。 保留Use CoreData并取消选中两个测试。 然后,单击“ 下一步”并将其保存到所需的位置。

保存文件后,在Project Navigator上转到Main.storyboard文件。 然后在对象库中搜索分段控件 ,并将其拖动到视图控制器的顶部。

接下来,在对象库中,拖动标签并将其放置在新的分段控件的正下方。

选择您的标签,然后单击右上角名为“ 显示属性检查器”的第四个图标。 命名您的Label One ,这将是分段控件第一个按钮的起始值。 您可以将字体增加到24,以便更好地显示标签 。 在“ 对齐”区域中单击“ 居中 ”。

添加约束

选择您的分段控件,然后在右下方的“ 自动布局约束”图标所在的位置,单击“ 添加新约束” 。 输入50作为顶部约束,右约束和左约束都输入0。 这使段控件延伸到边缘。 单击“ I形梁” ,使其变为纯红色。 另外,单击约束到边距以在应用程序中启用边距。 然后,在显示更新框架的底部菜单中,选择新约束项 。 最后,单击“ 添加3个约束” 。 接下来,选择您的Label并重复相同的步骤以添加约束。

分段控件属性

选择您的分段控件 ,然后在“ 实用工具窗格”中单击顶部的第四个图标,称为“ 显示属性检查器” 。 在“ 分段控制”部分下,您可以在“ 分段”字段中指定分段数。 在这种情况下,我们将选择3。从下拉菜单中选择每个片段并为其指定一个Title 。 在我们的示例中,我们将为每个段赋予数字1、2、3。然后在“ 控制”部分中,单击“ 水平”以使居中对齐到文本。 另外,选择“ 标签”并通过与“ 分段控件”相同的方式单击“水平”,使文本居中。

Main.storyboard中的 View Controller应该如下所示。

接线

让我们为Outlets建立连接。 选择您的分段控件 ,然后单击显示助手编辑器 ,这是右上角的第二个图标。 确保您可以查看ViewController.swiftMain.storyboard 。 然后,选择您的分段控件并拖动控件 ,并使指针降落在viewDidLoad函数上方。 一个弹出窗口应显示您可以在其中配置连接的位置。 对于连接选项,从下拉菜单中选择插座 。 然后,为其命名segmentedControl

Label重复相同的步骤,然后在Name字段中键入textLabel

这是您的门店代码的外观。

  @IBOutlet弱var segmentedControl:UISegmentedControl! 
@IBOutlet弱var textLabel:UILabel!

插座建立连接后,将为分段控件创建操作连接。 在这一步中,我们将设置分段控件的操作。 重复与插座连接相同的过程,但是将连接放置在viewDidLoad函数的正下方。 在“ 连接”菜单中,选择“操作” ,然后将其命名segmentedControlPressed 。 然后在Type中 ,选择UISegmentedControl

您的操作代码应如下所示。

  @IBAction func segmentedControlPressed(_发送者:UISegmentedControl){} 

编码功能

接下来,让我们编写switch语句。 转到您的ViewController.swift并在segmentedControlPressed函数内部,我们将在switch语句中键入。 我们将为每种情况分别命名每个textLabel.text, OneTwoThree ,以使其与分段控件的文本匹配。

 切换segmentedControl.selectedSegmentIndex { 
情况0:textLabel.text =“一个”;
情况1:textLabel.text =“ Two”;
情况2:textLabel.text =“三”;
默认值:break;
}

最终密码

这是您最终的ViewController.swift代码应具有的外观。

 导入UIKit 
 类ViewController:UIViewController { 
  // MARK:—出口 
@IBOutlet弱var segmentedControl:UISegmentedControl!
@IBOutlet弱var textLabel:UILabel!
 覆盖func viewDidLoad(){ 
super.viewDidLoad()
}
  // MARK:—动作 
@IBAction func segmentedControlPressed(_发送者:UISegmentedControl){
切换segmentedControl.selectedSegmentIndex {
情况0:textLabel.text =“一个”;
情况1:textLabel.text =“ Two”;
情况2:textLabel.text =“三”;
默认值:break;
}
}
}

最终产品

最后,检查完错误后,请在iPhone Simulator中构建并运行它。 按下分段控件上的每个按钮以检查其是否起作用。

结论

既然您已学会添加分段控件,请使用新技能为应用程序添加更多功能。 作为一项挑战,请尝试找到一种使用图像而不是文本的方法。