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. Coding语言强弱类型且动静态类型简单解析。附图解

    话不多说,上图: (以下均以Java来说明) 对于语言的强弱类型: 1.强类型语言:通俗的点来讲,就是对于数据类型,如果开发者定义了一个int数据类型的变量,那么虚拟机就会特别坚定该变量为int,坚决 ...

  2. GCC编译器原理(三)------编译原理三:编译过程(3)---编译之汇编以及静态链接【2】

    4.1.2 符号解析与重定位 (1)重定位 在完成空间和地址的分配步骤之后,链接器就进入了符号解析和重定位的步骤,这是静态链接的核心部分. 先看看 a.o 的反汇编文件: objdump -d a.o ...

  3. 二十五、Linux 进程与信号---exec函数

    25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...

  4. 十、uboot 代码流程分析---run_main_loop

    调用 board_init_r,传入全局 GD 和 SDRAM 中的目的地址 gd->rellocaddr void board_init_r(gd_t *new_gd, ulong dest_ ...

  5. MVC异步AJAX的三种方法(JQuery的Get方法、JQuery的Post方法和微软自带的异步方法)

    异步是我们在网站开发过程中必不可少的方法,MVC框架的异步方法也有很多,这里介绍三种方法: 一.JQuery的Get方法 view @{ Layout = null; } <!DOCTYPE h ...

  6. ue4动画蓝图

    动画资源 animation sequence  序列动画 :一帧一骨骼 montage   片断动画 : 动画蒙太奇   将不同的片断组成一个动画 blend space    混合动画  : 将2 ...

  7. Coursera, Machine Learning, notes

      Basic theory (i) Supervised learning (parametric/non-parametric algorithms, support vector machine ...

  8. 2017CCPC秦皇岛 M题Safest Buildings&&ZOJ3993【复杂模拟】

    题意: 给出两个半径R,r,R表示第一次的大圈半径,r表示第二次的小圈半径.第一次大圈的圆心位于(0,0),第二次小圈的圆心未知,但在大圈内,给你一个n,然后给出n个屋子的位置,问这些屋子中,第二次在 ...

  9. Microsoft SQL - 指令

    exec指令 查询数据库详细状态 exec sp_helpdb 数据库名称 修改数据库名称 exec sp_rename oldname,new_name 查看表状态 exec sp_help 表名称 ...

  10. python,小练习(计算两点之间直线长度)

    #首先引入数学函数 import math #创建一个点的类 class Point(): #初始化点的坐标(x,y) def __init__(self,x=0,y=0): self.x = x s ...