目录
iOS 基础控件 UISegmentedControl
1. UISegmentedControl 的常规使用
// 创建分段控制器
let segmentedControl = UISegmentedControl(items: ["Home", "Circle"])
// 设置 UISegmentedControl 控件位置
segmentedControl.frame = CGRect(x: 25, y: 700, width: 340, height: 38)
// 设置 UISegmentedControl 风格颜色
segmentedControl.tintColor = UIColor.gray
// 监听 UISegmentedControl 事件
segmentedControl.addTarget(self, action: #selector(selectChange), for: UIControl.Event.valueChanged)
self.view.addSubview(segmentedControl)
@objc func selectChange(sc: UISegmentedControl) {
print("分段控制器当前页码:\(sc.selectedSegmentIndex)")
}
效果展示:
2. UISegmentedControl 动态更新 item
// UISegmentedControl 动态插入文字 item
segmentedControl.insertSegment(withTitle: "Cart", at: 2, animated: true)
// UISegmentedControl 动态插入图片 item
segmentedControl.insertSegment(with: UIImage(named: "portrait")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal), at: 3, animated: false)
// UISegmentedControl 修改指定位置的图片
segmentedControl.setImage(UIImage(named: "EyeInvisible")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal), forSegmentAt: 3)
// UISegmentedControl 修改指定位置的文本
segmentedControl.setTitle("Recommend", forSegmentAt: 1)
// UISegmentedControl 删除指定 item
segmentedControl.removeSegment(at: 3, animated: true)
// 设置 UISegmentedControl item 宽度 40
segmentedControl.setWidth(40, forSegmentAt: 4)
// 设置 UISegmentedControl 自适应内容的宽度
segmentedControl.apportionsSegmentWidthsByContent = true
效果展示: