Swift自定义按钮

Snip20171225_5.png

通常我们设置的按钮是图片在右边,文字在左。所以我们需要自定义按钮来实现我们一些需求. 主要就是控制一下layoutSubviews里面计算一下尺寸
1.继承UIButton. 然后重写这几个方法,
2.接着使用改类创建就对象就好
3.可以在init 中设置一些自己固定的属性

class CustomBtn: UIButton {

    override init(frame: CGRect) {
        
        super.init(frame: frame)
        
        titleLabel?.font = UIFont.systemFont(ofSize: 12)
        setTitleColor(UIColor.green, for: UIControlState.normal)
        setImage(UIImage(named:"navigationbar_friendattention"), for: UIControlState.normal)
        setImage(UIImage(named:"navigationbar_friendattention_highlighted"), for: UIControlState.highlighted)
        sizeToFit()

    }
   
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func layoutSubviews() {
        super.layoutSubviews()
        
        titleLabel?.frame.origin.x = 20
        
        imageView?.frame.origin.x = 20 + titleLabel!.frame.size.width
    }

}

扩展
Snip20171225_14.png

代码留给你,喜欢和点赞留给我https://gitee.com/lanyingwei/codes/ebx5hj6q3d1vsop7zrmlt98

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自定义按钮视图:上半部分显示图片,下半部分显示标题,效果: 期待你的评论建议O(∩_∩)O~
    Sparkle_S阅读 5,590评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,046评论 25 709
  • 重要:这是针对于正在开发中的API或技术的预备文档(预发布版本)。苹果提供这份文档的目的是帮助你按照文中描述的方式...
    金_波阅读 6,138评论 3 13
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 从步入小学一年级那天开始,就千方百计的帮孩子找短板、补短板。平时也老爱用其他孩子的优点和自己孩子的缺点做比...
    单泳超阅读 4,132评论 0 2