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

前端之家收集整理的这篇文章主要介绍了UIKit框架-基础控件Swift版本: 2.UIButton方法/属性详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前面我们讲完了控件的父类,现在让我们正式进入基础控件的讲解,现在来讲解第一个UI基础控件UIButton:


1.UIButton的类型

在UIButton里面有分几种类型,让我们来看看:

enum UIButtonType : Int {

    // 1.自定义类型
    case Custom
    // 2.系统类型
    case System
    // 3.信息类型
    case DetailDisclosure
    // 4.也是信息类型
    case InfoLight
    // 5.也是信息类型
    case InfoDark
    // 6.添加类型
    case ContactAdd
}@H_404_35@ 
 

这里就是UIButton的样式:

下面是我们设置Button时的状态:

struct UIControlState : RawOptionSetType {
    init(_ rawValue: UInt)
    init(rawValue: UInt)
    // 1.UIButton正常的状态
    static var Normal: UIControlState { get }
    // 2.UIButton高亮的状态
    static var Highlighted: UIControlState { get }
    // 3.UIButton禁用的状态
    static var Disabled: UIControlState { get }
    // 4.UIButton选择的状态
    static var Selected: UIControlState { get }
    // 5.UIButton标志该应用可用(忽略,没用过这个状态)
    static var Application: UIControlState { get }
    // 6.UIButton保留状态
    static var Reserved: UIControlState { get }
}@H_404_35@ 
 

2.常用属性

在我们的UIButton里面也有一些我们常用的属性和一些不常用的属性,不常用的属性我们只是带一下就可以了,如果有需要的话再去仔细研究:

// 1.设置UIButton的标题,以及状态
func setTitle(title: String?,forState state: UIControlState)
// 2.设置UIButton的标题颜色,以及状态
func setTitleColor(color: UIColor?,forState state: UIControlState)
// 3.设置UIButton的前置图,以及状态
func setImage(image: UIImage?,forState state: UIControlState)
// 4.设置UIButton的背景图,以及状态
func setBackgroundImage(image: UIImage?,forState state: UIControlState)
// 5.设置UIButton的阴影颜色,以及状态
func setTitleShadowColor(color: UIColor?,forState state: UIControlState)@H_404_35@ 
 

PS: UIButton是可以设置两张图片,一张是前置图,一张是背景图,但这里要注意一下,如果你同时设置了前置图和title的话,那么UIButton的显示效果就不太正常了.


3.演示

下面让我们来看看UIButton的演示:

创建好的工程就是这样子的了:

下面让我们来添加代码:

func myButton() {
        // 1.创建UIButton,并且设置为Custom样式
        var button: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton

        // 2.设置UIButton的坐标轴
        button.frame = CGRectMake(100,200,100,40)

        // 3.设置UIButton的背景色
        button.backgroundColor = UIColor.redColor()

        // 4.设置UIButton的Normal状态下的title
        button.setTitle("我是按钮",forState: UIControlState.Normal)

        // 5.设置UIButton的Normal状态下的title颜色
        button.setTitleColor(UIColor.blackColor(),forState: UIControlState.Normal)

        // 6.设置UIButton的Highlighted状态下的title
        button.setTitle("哎哟被点了",forState: UIControlState.Highlighted)

        // 7.设置UIButton的Highlighted状态下的title颜色
        button.setTitleColor(UIColor.greenColor(),forState: UIControlState.Highlighted)

        // 8.设置UIBUtton的Noraml状态下的title阴影颜色
        button.setTitleShadowColor(UIColor.whiteColor(),forState: UIControlState.Normal)

        // 9.设置UIButton的Highlighted状态下的title阴影颜色
        button.setTitleShadowColor(UIColor.darkGrayColor(),forState: UIControlState.Highlighted)

        // 10.添加UIBUtton在touchUpInside点击下的监听方法
        button.addTarget(self,action: "buttonTarget:",forControlEvents: UIControlEvents.TouchUpInside)

        // 其他属性
        // 11.设置Button的内容位置
        button.contentEdgeInsets = UIEdgeInsetsMake(100,0,0)

        // 12.添加到self.view上
        self.view.addSubview(button)
    }


    // 13.UIButton的被监听方法
    func buttonTarget(sender: UIButton!) {

        // 14.随便打印一些值
        println("点击我干嘛?")

        // 15.删除监听方法
        sender.removeTarget(self,forControlEvents: UIControlEvents.TouchUpInside)
    }@H_404_35@ 
 

最后再把这些方法在viewDidload方法中实现:

override func viewDidLoad() {
        super.viewDidLoad()
        self.myButton()
    }@H_404_35@ 
 

出来的代码效果图:

运行之后的效果图:

PS: 模拟器的背景色是在别的地方修改了,所以这里大家就不要纠结了,而模拟器左边的几个按钮,就是上面为了让大家看到的样式例子,这里也不需要纠结,中间红色的那个Button才是我们用代码直接创建的.


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

猜你在找的Swift相关文章