Swift按钮实现

利用Swift编写代码添加Button。

这几天试着用代码来加Button,但是一直提示有错误,查过资料后发现还有另外一种方法。第一种,利用类来添加Button。第二种,直接在ViewController中添加。

源码已上传github,获取方法:

   git clone https://github.com/Vayne-Lover/Swift-Button.git

代码块截图如下:

Swift Button Picture 1

这里是三个Action函数,在点击后会在控制台输出对应的信息,用于测试Button是否有效。

Swift Button Picture 2

这里添加了一个AddButton类,里面有一个函数,用于创建对应的Button。也就是先创建该类的实例,然后通过实例来调用CreateButton函数,从而在View中建立Button。

首先设置的是坐标为50,50,宽度,高度分别为40,60。

然后设置标题为Re,也就是Button里面的Text为Re,状态为常规。

接着设置背景色为红色,然后添加动作事件,当被按下后调用showRed函数。

最后将button添加为View的子视图,如果没有添加,那Button就不会显示在视图上。

关于addTarget中的action还要提一句,selector是选择子的意思,因为OC中没有闭包,所以经常用到,但是Swift中不怎么用。这里由于Swift的更新需要加#另外Selector不用大写。如果对应函数有参数则要写成func(_:)的形式,无参则写为func。

需要特别注意,对应的动作函数一定要写在viewDidLoad外面,否则会报错。

Swift Button Picture 3

上图是在ViewDidLoad中添加Button。这里我写了两个是为了对比有参和无参函数的调用的。

运行的结果如下图:

Swift Button Simulator

点击各个按钮后控制台的输出为:

Swift Button Result

补充一点关于UIControl的知识。

首先是UIControl的状态,一共有7种,如下图:

Swift Button UIControlState

常用的有4种:

Normal,即为正常状态;

Highlighted,即高光状态,显示明显;

Disabled,即为能看不能用的状态;

Selected,即选中状态,选中该物件。

再者是UIControlEvents,有20种,如下图:

Swift Button UIControlEvents

常用的有6种:

TouchDown,按下;

TouchDownRepeat,多点按下;

TouchDragInside,在控件内部拖动;

TouchDragEnter,拖入;

TouchDragExit,拖出;

TouchUpInside,点击,抬起手指,这个最为常用。