UIKit框架-基础控件Swift版本: 1.UIControl方法/属性详解

在前面, 我们虽然知道了Objective-C中的控件是怎么创建的, 本来不觉得要再说的, 但在开发过程中, Swift的语法和我想象中不太一样, 所以我这里还是得写一样, 为了方便新人的快速入门, 好了废话少说, 现在让我们来了解一下基础控件的一些属性和方法:


1.状态属性

在我们众多的UI控件里, 有很多控件都是属于控制类型的, 他们都是继承于UIControl这个父类, 所以他们有相应的方法和属性, 现在来让我们看看常见的属性:

// 1. 控件启用/禁用, 默认是启用
var enabled: Bool
// 2. 控件选中/不选中, 默认不选中
var selected: Bool
// 3. 控件高亮/非高亮, 默认非高亮
var highlighted: Bool

2.内容布局属性

在我们一些可控的控件里面, 是有一些需要内容布局的, 所以下面两个属性可以完成我们想要的东西:

// 1. 内容水平居中
var contentVerticalAlignment: UIControlContentVerticalAlignment
// 2. 内容垂直居中
var contentHorizontalAlignment: UIControlContentHorizontalAlignment

3.监听方法

监听方法就不用多说了, 在UIButton中我们经常会看到添加监听方法, 而删除监听方法我们等下做一下示范:

// 1.添加监听方法
func addTarget(target: AnyObject?, action: Selector, forControlEvents controlEvents: UIControlEvents)
// 2.删除监听方法
func removeTarget(target: AnyObject?, action: Selector, forControlEvents controlEvents: UIControlEvents)

4.其他监听方法

这些监听方法不常用, 这里就不多做解释了, 有兴趣的朋友可以自己去研究一下:


func allTargets() -> NSSet

func allControlEvents() -> UIControlEvents

func actionsForTarget(target: AnyObject, forControlEvent controlEvent: UIControlEvents) -> [AnyObject]?

func sendAction(action: Selector, to target: AnyObject?, forEvent event: UIEvent?)

func sendActionsForControlEvents(controlEvents: UIControlEvents)

5.补充一些知识点

如果没有深入研究的朋友可能不知道, 其实UIControl是继承于UIView这个父类的, 如果没有这个父类, 那么UIControl是没有办法和其他控件交互的.


好了, 这次我们就讲到这里, 下次我们继续~

原文地址:https://www.cnblogs.com/iOSCain/p/4529355.html