import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

// 选择空间的创建, 并监听控件的选择值

let items = ["选项1","选项2",UIImage.init(named: "1.png")!] as [Any]

let segment = UISegmentedControl.init(items: items)

segment.center = self.view.center

segment.selectedSegmentIndex = 1 // 默认选中项

segment.addTarget(self, action: #selector(didSeleted(sender:)), for: .valueChanged)

self.view.addSubview(segment)

// 添加文字选项

segment.insertSegment(withTitle: "新增选项", at: 1, animated: true)

// 添加图片选项

segment.insertSegment(with: UIImage.init(named: "1"), at: 1, animated: true)

// 移除选项

segment.removeSegment(at: 1, animated: true)

// 修改选项颜色 (包括图片选项)

segment.tintColor = UIColor.red

// 修改文字选项

segment.setTitle("swift", forSegmentAt: 1)

// 修改选项图片

// 下面的代码会自动变为蓝色

segment.setImage(UIImage.init(named: "1"), forSegmentAt: 2)

// 使用下面的代码, 图标会保留原来的颜色

segment.setImage(UIImage.init(named: "1")?.withRenderingMode(.alwaysOriginal), forSegmentAt: 2)

// 修改选项内容偏移位置

segment.setContentOffset(CGSize.init(width: 10, height: 7), forSegmentAt: 1)

}

func didSeleted(sender: UISegmentedControl){

print(sender.selectedSegmentIndex);

print(sender.titleForSegment(at: sender.selectedSegmentIndex) ?? "没有标题,可能是图片")

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

}

swift 实践- 08 -- UISegmentedControl的更多相关文章

  1. MatrixOne从入门到实践08——SSB性能测试

    MatrixOne从入门到实践--SSB性能测试 SSB 星型模式基准测试是 OLAP 数据库性能测试的常用场景,通过本篇教程,您可以了解到如何在 MatrixOne 中实现 SSB 测试. 测试环境 ...

  2. Swift 学习- 08 -- 闭包

    // 闭包是自包含的函数代码块, 可以在代码中被传递和使用, swift 中的闭包 与 C语言 和 OC 中的代码块 (blocks) 以及其他一些编程语言中的匿名函数比较类似 // 闭包可以捕获和存 ...

  3. swift 学习之UISegmentedControl

    //创建分段控件的标题         let titileArray:[String] = ["点评", "哪里逃"]         let segment ...

  4. Swift UIAlertController、UISegmentedControl

    // MARK: 提示框 func _initAlertView() { let btn = UIButton(type: UIButtonType.ContactAdd) btn.frame = C ...

  5. Swift 实践之UIWebView

    1.选中工程,点击右键,New File>在iOS下选中Othe>Empty,生成一个.js的脚本文件,将代码粘贴过去保存; var script = document.createEle ...

  6. swift 实践- 14 -- UIScrollView

    import UIKit class ViewController: UIViewController ,UIScrollViewDelegate{ override func viewDidLoad ...

  7. swift 实践- 13 -- UIStepper

    import UIKit class ViewController: UIViewController { var stepper: UIStepper! var label: UILabel! ov ...

  8. swift 实践- 12 -- UIPickerView

    import UIKit class ViewController: UIViewController , UIPickerViewDelegate,UIPickerViewDataSource{ v ...

  9. swift 实践- 11 -- UISlider

    import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...

随机推荐

  1. Python3快速入门

    ——<趣学Python-教孩子学编程>学习笔记 1.注释 (1)单行注释以  #  开头注释 # 这是一个注释 print("Hello, World!") (2)多行 ...

  2. 二十一、Linux 进程与信号---进程查看和进程状态、进程调度和进程状态变化、进程标识

    21.1 进程查看和进程状态 21.1.1 ps 指令 ps 指令通常可以查看到进程的 ID.进程的用户 ID.进程状态和进程的 Command ps:查看当前用户启动的进程 ps -ef:详细查看后 ...

  3. 关于“ubuntu18.04下网易云无法启动”的问题解决方案

    1. 最简单的解决方案(参考文章:亢奋猫): 更正:在更改启动文件netease-cloud-music.desktop时应为:将第11行处的“Exec=netease-cloud-music %U” ...

  4. jira和svn关联后,不显示Subversion Commits标签或不显示svn提交信息

    1.jira的版本是7.3.6 2.不显示Subversion Commits标签或不显示svn提交信息 其实是权限的分配问题 3.管理员登录 找到对应项目的权限管理 4.[评论权限]——[编辑所有评 ...

  5. SFTP免密码登录原理

    概述 Public Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接. Public Key认证的基础在于一对密钥,public key和private key,public k ...

  6. js常见的几种继承方式

    1.原型链继承 “父类”的实例作为子类的prototype SubType.prototype = new SuperType() 2.组合继承(原型链+构造函数) function SubType( ...

  7. border-radius图解

    自己看了理解的border-radius: 设置参数: 100*100的正方形,第一个:border-top-left-radius:100px 100px,即圆的半径为100px.圆弧与上和左bor ...

  8. java包装类型的坑

    开发中有遇到Long类型比较是否相等,比如Long A和Long B判断是否相等,当时习惯性的直接A==B: 自测的话确实么有问题,但是测试那边测试就有问题,当时郁闷了一下然后换成了A.equals( ...

  9. 【Git】Git常用命令

    git remote -v : 查看远程仓库地址

  10. setInterval 传值设参数

    <script type="text/javascript" > window.onload=function(){ for(var i=1;i<3;i++){ ...