Segment段控件可以定义为水平控件,它控制多个段,其中按钮控制每个段。段控件可用于在单个视图控制器中显示多个视图。
段控件声明如下:
class UISegmentControl : UIControl
UISegmentedControl会自动调整段的大小以使其按比例适合视图,除非它们设置了特定的宽度。添加和删除线段时,您可以增加淡入淡出的效果。
在此示例中,无涯教程将将段控件添加到Welity Builder,无涯教程将使用该控件分别显示无涯教程创建的各个XIB文件。
链接:https://www.learnfk.comhttps://www.learnfk.com/ios/ios-segment-control.html
来源:LearnFk无涯教程网
XIB代表XML接口构建器。 XIB文件在运行时加载,以提供应用程序的用户界面。 XIB文件存储为NIB或XIB文件,它们代表UIView。
vc1.xib
以下图像显示VC.xib文件。
vc2.xib
以下图像显示VC2.xib文件。
ViewController.swift
在ViewController.swift文件中,无涯教程将为段控件创建动作连接,每次触发为段控件时都会通知该段控件。
它在vc1.xib和vc2.xib之间切换在段控件的ValueChanged事件之间。
import UIKit class ViewController: UIViewController { @IBOutlet weak var segmentedControl: UISegmentedControl! @IBOutlet weak var viewContainer: UIView! var views = Array<uiview>() override func viewDidLoad() { super.viewDidLoad() //加载视图后进行任何其他设置。 views.append(VC1().view!) views.append(VC2().view!) for v in views{ viewContainer.addSubview(v) } viewContainer.bringSubviewToFront(views[0]) } @IBAction func switchViewAction(_ sender: UISegmentedControl) { viewContainer.bringSubviewToFront(views[sender.selectedSegmentIndex]) } }
输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)