美文网首页
iOS-UIButton核心属性

iOS-UIButton核心属性

作者: Swift从入门到崩溃 | 来源:发表于2016-08-15 20:11 被阅读0次

UIBtton-自定制按钮

在系统的按钮中,我门可以给按钮添加背景图片,文字的属性,但在现实中我们会见到很多上面是图片下面是按钮的按钮,队员这样的按钮我们通过系统的按钮是无法创建出来的。这时我们就必须对系统的按钮方法进行重写,来自定制我们自己的按钮。

1.自定制按钮

既然要重写系统按钮的方法,这里我们新创建一个class让它继承UIButton然后在这个class重写方法,实现按钮的自定制。具体步骤如下代码

import UIKit
class LYMButton: UIButton {
//重新对按钮上显示图片的imageView设置frame
//contentRect:就是当前按钮的frame
override func imageRectForContentRect(contentRect: CGRect) -> CGRect {
    return CGRectMake(0, 0, contentRect.width, contentRect.height*3/4)
}
//重新对按钮上显示的文字的label设置frame
override func titleRectForContentRect(contentRect: CGRect) -> CGRect {
    return CGRectMake(0, contentRect.height*3/4, contentRect.width, contentRect.height/4)
  }
}

现在属于我们的按钮已经创建好了,我们接下来只需要在创建按钮的时候创建自己的按钮即可 下面我们在viewController中使用自己的按钮

    func myButton() {
    let btn = LYMButton()
    btn.frame = CGRectMake(100, 100, 200, 200)
    btn.setTitle("这个海好耍", forState: .Normal)
    btn.setTitleColor(UIColor.blueColor(), forState: .Normal)
    btn.setImage(UIImage.init(named: "2"), forState: .Normal)
    //        btn.backgroundColor = UIColor.blueColor()
    btn.titleLabel?.textAlignment = .Center
    self.view.addSubview(btn)
    btn.addTarget(self, action: #selector(timer), forControlEvents: .TouchUpInside)
    
}

效果如下:


233AE9BE-5DC5-4BD5-ABA1-C1A4CE05DC69.png

2.UIButton点击事件

下面我们就来看看关于按钮的最核心的属性,大家都知道一个按钮创建出来就是给人们按的不然怎么会叫按钮呢,既然能按,如果按了没有反应又又有什么意义呢。
对于按钮的点击,我们只需调用下面的方法即可

btn.addTarget(self, action: #selector(btnAction), forControlEvents: .TouchUpInside)
大家可以看到这个函数有三个参数,下面我们对者三个参数进行说明
//参数1.调用方法的对象
//参数2.事件发生后背调用的方法
//参数3.事件
//常用
//TouchUpInside,按钮按下弹起事件
//TouchDown,按钮按下事件
//不常用
//TouchUpOutside,按钮按住不放 往按钮外拖事件
//TouchDownRepeat,按钮连续按上两次以上
//当指定事件发生后self会获取调用selector中的方法

对于你想要要按钮实现什么功能呢,你只需在按钮点击后调用的方法中给出即可,比如我在这里点击按钮实现产生一个随机色作为页面的背景

func btnAction() {
self.view.backgroundColor =
UIColor.init(red: CGFloat(arc4random_uniform(255))/255,
green: CGFloat(arc4random_uniform(255))/255,
blue: CGFloat(arc4random_uniform(255))/255, alpha: 1)
}

相关文章

  • iOS-UIButton核心属性

    UIBtton-自定制按钮 在系统的按钮中,我门可以给按钮添加背景图片,文字的属性,但在现实中我们会见到很多上面是...

  • iOS - 基本控件

    1,iOS之UILabel详解计算lable的size 2,iOS-UIButton 全面解析 3,iOS-UII...

  • springboot-配置文件大全

    # ---------------------------------------- # 核心属性 # -----...

  • CSS核心属性

    第一节 文本类型属性 font-family:字体类型 语法:{font-family:字体1,字体2,字体3;}...

  • Vuex 核心属性

    1、state state就是根据你项目的需求,自己定义的一个数据结构,里面可以放些通用的状态。 const st...

  • css核心属性

    一、字体类属性 1.字体类型 语法: font-family:字体1,字体2,字体3; eg: body{font...

  • css核心属性

    标准流 display属性 float属性 文字环绕:被环绕的标签浮动没蚊子不浮动 清除浮动 定位 盒子模型

  • CSS核心属性

    1.选择器优先级 每种选择器都有一个权重值,权重值越大,优先级越高标签选择器:0001(1)class选择器:00...

  • iOS-UIButton

    继承关系: inherits from: UIControl : UIView : UIResponder : N...

  • Kotlin实现自定义属性对其它属性及方法的代理

    核心思想饿汉式的属性代理懒汉式的属性代理示例代码 一、核心思想   当我们对属性进行赋值时会触发属性的重载运算符函...

网友评论

      本文标题:iOS-UIButton核心属性

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