程序员

技术干货(11) – 非常简单的自定义按钮

  • 在项目开发中,有不少情况需要对按钮中的图文位置进行重新排布。经常会看到需要上下排布和左右排布的按钮,但市场需求远远不止这些,甚至不是这样简单的位置的改变

Snip20161218_1.png

Snip20161218_2.png
  • 那我们的做法有
    • 1.继承自 UIButton,在layoutSubviews方法中重新设置imageViewtitleLabelxy
    • 2.继承自 UIButton,在按钮当中实现方法imageRectForContentRecttitleRectForContentRect,在这个方法当中重新计算图片的尺寸和lable的尺寸
    • 3.通过调整contentEdgeInsets.
    • 4….
  • 这里提供一种非常方便的方法,可能大家已经知道了。
    • 自定义一个类继承自 UIControl,自定义按钮,非常的方便。代码如下:

Snip20161218_3.png
import UIKit
//UIControl 内置了 touchupInside 时间响应
class WBComposeTypeButton: UIControl {

    @IBOutlet weak var imageView: UIImageView!

    @IBOutlet weak var titleLale: UILabel!


    /// 使用图像名称/标题创建按钮,按钮布局从 XIB 加载
    class func composeTypeButton(imageName: String, title: String) -> WBComposeTypeButton {

        let nib = UINib(nibName: "WBComposeTypeButton", bundle: nil)

        let btn = nib.instantiate(withOwner: nil, options: nil)[0] as! WBComposeTypeButton

        btn.imageView.image = UIImage(named: imageName)
        btn.titleLale.text = title

        return btn
    }
}
  • 文章最后,分享一个生活小技巧
    • 用电脑学习或者敲代码很长时间后,眼睛难免会视觉疲劳,非常难受。我们可能会习惯性的选择做一个眼保操或者眺望一下远方,希望能通过这个方法减少一些视觉疲劳。但往往在下一刻,我们又开始疲劳用眼了。
    • 这说明我们的休息还远远不够。睡一会,感觉有点浪费时间;看一看周围的风景,一个人还真没多少兴趣……
    • 这里,我要分享的小技巧就是:可以通过观看一会儿电视剧或者电影之类的调节视觉疲劳。可能自己都没注意到是在什么时候,眼睛放松了好多。这个方法是我自己亲身经历,切实可行。我估计是我们注意力太过集中导致视觉疲劳的,看电视的过程中,其实我们的眼睛就相对放松多了,所以就起到一个休息的效果。看电视虽然也有点浪费时间,但总要有所付出。
    • 这里分享的技巧是一种简单的休息方式,如果大家有更好的方式和兴趣,欢迎一起分享探讨。
    • 最后,请程序员/猿们爱护自己的眼睛