Swift,UIButton,addTarget

作者: 那夜孤舟 | 来源:发表于2016-10-11 17:03 被阅读6119次

    swift 3.0 对于addTarget进行了优化首先先看一下addTarget的写法:#selector(【类、结构体】.function)

    btn.addTarget(self, action: #selector(self.changeStringBtn(_:)), for: .touchUpInside)

    2.关于UIButton

    1.创建

    let btn = UIButton.init(type: .custom)

    btn.frame = CGRect.init(x: 100, y: 200, width: 80, height: 44)

    btn.setTitle("改word", for: .normal)

    btn.backgroundColor = #colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1)

    btn.addTarget(self, action: #selector(self.changeStringBtn(_:)), for: .touchUpInside)

    view.addSubview(btn)

    以上是简单的Btn的创建,下面是btn的几个属性:

    1.Btn的类型

    UIButtonType.system:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果

    UIButtonType.custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果

    UIButtonType.contactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果

    UIButtonType.detailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果

    UIButtonType.infoDark:为感叹号“!”圆形按钮

    UIButtonType.infoLight:为感叹号“!”圆形按钮

    (注意:自ios7起,infoDark、infoLight、detailDisclosure效果都是一样的)

    2,按钮文字阴影颜色的设置

    button.setTitleShadowColor(UIColor.green, for:.normal) //普通状态下文字阴影的颜色

    3、设置图片

    let image = UIImage.init(named: "checkbox_checked")?.withRenderingMode(.alwaysOriginal) //之前是默认渲染的,如果不设置图片为alwaysOriginal,会被渲染成单一的颜色

    现在可简化为:

    let image = UIImage.init(named: "checkbox_checked")

    btn.setImage(image, for: .normal)

    最后补充一下常见的触摸事件类型:

    touchDown:单点触摸按下事件,点触屏幕

    touchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候

    touchDragInside:触摸在控件内拖动时

    touchDragOutside:触摸在控件外拖动时

    touchDragEnter:触摸从控件之外拖动到内部时

    touchDragExit:触摸从控件内部拖动到外部时

    touchUpInside:在控件之内触摸并抬起事件

    touchUpOutside:在控件之外触摸抬起事件

    touchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断

    相关文章

      网友评论

        本文标题:Swift,UIButton,addTarget

        本文链接:https://www.haomeiwen.com/subject/dtdbyttx.html