Swift - UISegmentedControl

Posted ios-development

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift - UISegmentedControl相关的知识,希望对你有一定的参考价值。

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let items = ["optionA","optionB","optionC"]
        let segmented = UISegmentedControl(items: items)
        //设置中心位置
        segmented.center = self.view.center
        //设置默认选中的索引,索引从0开始
        segmented.selectedSegmentIndex = 1
        //添加监听事件
        segmented.addTarget(self, action: #selector(ViewController.SegmentedChanged(_:)), for: .valueChanged)
        //添加文字选项
        segmented.insertSegment(withTitle: "option D", at: 4, animated: true)
        //添加图片选项(withRenderingMode(.alwaysOriginal)设置图片颜色为原颜色,而不是系统默认的蓝色)
        segmented.insertSegment(with: UIImage(named:"Icon")?.withRenderingMode(.alwaysOriginal), at: 1, animated: true)
        //移除指定选项
        segmented.removeSegment(at: 1, animated: true)
        //移除全部选项
//        segmented.removeAllSegments()
        //修改选项颜色
        segmented.tintColor = UIColor.blue
        //修改选项文字
        segmented.setTitle("newName", forSegmentAt: 3)
        //修改选项图片
        segmented.setImage(UIImage(named: "newIcon"), forSegmentAt: 1)
        //修改选项内容偏移位置
        segmented.setContentOffset(CGSize(width: 5, height: 5), forSegmentAt: 1)
        //添加到视图中
        self.view.addSubview(segmented)
    }
    @objc func SegmentedChanged(_ segmented:UISegmentedControl)
    {
        //打印选项的索引
       print("index is (segmented.selectedSegmentIndex)")
        //打印选择的文字
        print("option is (String(describing: segmented.titleForSegment(at: segmented.selectedSegmentIndex)))")//将获得值转为String类型
    }

}

以上是关于Swift - UISegmentedControl的主要内容,如果未能解决你的问题,请参考以下文章

使用 UISegmentedControl 进行多项选择 - Pages 使用的是啥?

是否有任何组件或 pod 可以在视频中制作相同的滚动标签? [关闭]

swift [Swift Notes]在学习Swift #Swift的同时收集笔记

Swift 反射

Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift

swift 示例BS swift.swift