ios拓展14-调整button内部控件位置Swift版

之前笔者写过一个OC版本,http://www.jianshu.com/p/a81a874a33bc
这个是Swift版本, 但是两个版本使用的方法不一样, 效果一样


override init(frame: CGRect) {
        super.init(frame: frame)
        
        imageView?.contentMode = .Center// 图片模式
        
        titleLabel?.textAlignment = .Center// 文字木事
        
        titleLabel?.font = UIFont.systemFontOfSize(15)//字体大小
        /*=====还有很多其他属性,根据需求自己更改=====*/
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }  

//==========>根据实际需要更改frame
    override func layoutSubviews() {
        
        super.layoutSubviews()
        // 对子 控件 布局,  左右显示,改为上下显示 (按钮初始化的size为(60,80)) 
        // 设置imageView

       // 设置imageView
        imageView?.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
        // 设置title
        titleLabel?.frame = CGRect(x: 0, y: 60, width: 60, height: 20)
+++++++++++++++++++++++++++++++++++++
由于layoutSubviews在会多次调用,CGRect(x: 0, y: 0, width: 60, height: 60)最好使用数字,
如果使用frame设置,在按钮有放大缩小的动画时候, 会有bug
+++++++++++++++++++++++++++++++++++++
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子阅读 12,921评论 0 36
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,791评论 4 61
  • 人类会被诱惑所诱惑,会被问题而拖延, 最终这些问题都会归结到一个人类特有的问题----我们如何看待未来。 “延迟折...
    11豆豆阅读 3,984评论 1 0
  • 我就是想看看我能不能发文章
    迟月雕刻阅读 1,225评论 0 0
  • 良辰颂 一世流年归四同,春秋交交替夏冬。 良辰四月十一日,百花含苞待开时。 笑步野田垂绿柳,舞柳浪麦西南风。...
    思考的植物人阅读 1,805评论 0 1

友情链接更多精彩内容