iOS学习三之UIButton

UIButton的创建方法

在ViewController的viewDidLoad中添加下面的方法即可

    override func viewDidLoad() {

        //button的类型,类型:custom/system/detailDisclosure/contactAdd

        //类型的区别表现在字体颜色等之外,detailDisclosure在文字的左边添加了详情小图标,contactAdd在文字的左边添加了一个添加小图标

        let button = UIButton(type:.custom)

        //button的大小

        button.frame = CGRect(x:40, y:100, width:350, height:300)

        //button的背景色                          

        button.backgroundColor = UIColor.blue

        //button的背景图片

        //detailDisclosure/contactAdd的情况下,图片会设置在button左边的icon后面                           

        button.setBackgroundImage(UIImage(named: "qq"),for:.normal)

        //图片和文字并排显示,只有button类型是custom的时候有效

        button.setImage(UIImage(named: "qq"),for:.normal)

        //button上面的文字,参数二是显示此标题文字时的按钮状态,类型:normal/highlighted/disabled/selected

        //设置只对文字有效,对文字前的图标无效

        button.setTitle("Click Me Please", for:.normal)

       //整体内容相对于默认显示效果的偏移值,(上,左,下,右)

        button.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0)

       //只偏移图片部分

        button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0)

       //只偏移文字部分

        button.titleEdgeInsets = UIEdgeInsetsMake(300, 0, 0, 0)

        //button的点击事件,参数三为触发条件

        //类型:touchDown/touchDownRepeat/touchDragInside/touchDragOutside/touchDragEnter/touchDragExit/touchUpInside/touchUpOutside/touchCancel/valueChanged

        button.addTarget(self, action:#selector(对应方法名), for:.touchUpInside)

        //添加到屏幕

        self.view.addSubview(button)

    }

button触发条件的详细说明

touchDown:用户手指按下时触发

touchDownRepeat:用户多次重复按下时触发

touchDragInside:用户在控件范围内进行拖动滑动移动时触发

touchDragOutside:用户在控件范围内按下并且拖动滑动到控件范围外时触发

touchDragEnter:用户手指拖动进控件范围后触发

touchDragExit:用户手指拖动结束时触发

touchUpInside:用户在控件范围内按下并且在范围内抬起时触发,即单击

touchUpOutside:用户在控件范围内按下并且在范围外抬起时

touchCancel:触摸事件被取消时触发

valueChanged:控件的value值改变时触发

posted @ 2018-09-16 21:20  minminjy123  阅读(253)  评论(0编辑  收藏  举报