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类型
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值