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. jsp 起航 和Servlet通过attribute通信

    @WebServlet(name = "ticketServlet",urlPatterns = {"/tickets"},loadOnStartup = 1) ...

  2. PHP连接数据库实现多条件查询与分页功能——关于租房页面的完整实例操作

    租房页面如图: 代码如下: <!DOCTYPE html><html>    <head>        <meta charset="UTF-8& ...

  3. PHP中遍历二维数组—以不同形式的输出操作

    <body> <?php //定义二维索引数组$arr = array(    array("101","李军","男", ...

  4. [C++]Linux之计算内存利用率与辨析

    声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步,乃至成为朋友- 0.0 /* @url:http ...

  5. linux系统下python升级安装

    1.安装gcc gcc-c++ yum install -y gcc gcc-c++ #提前检查是否安装 2.下载python3.5.2安装包 cd /usr/local/src/ wget http ...

  6. 配置mongo

    Windows 平台安装 MongoDB MongoDB 下载 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...

  7. vue 导航栏切换

    <template> <footer class="menu"> <router-link to="/" class=" ...

  8. A - Brackets POJ - 2955 (区间DP模板题)

    题目链接:https://cn.vjudge.net/contest/276243#problem/A 题目大意:给你一个字符串,让你求出字符串的最长匹配子串. 具体思路:三个for循环暴力,对于一个 ...

  9. pwnable.kr col

    collision - 3 pt 连接上查看col.c源码 分析一下代码, 1.hashcode等于一个固定的值 2.check_password函数取输入数据,4个一组,将输入的字符转成int,然后 ...

  10. 【Convex Optimization (by Boyd) 学习笔记】Chapter 2 - Convex sets(1) 仿射集&凸集

    I. 仿射凸集(Affine and convex sets) 1. 线与线段 假设\(R^n\)空间内两点\(x_1,x_2\, (x_1≠x_2)\),那么\(y=\theta x_1+(1-\t ...