ios拓展14-調整button內部控件位置Swift版

之前筆者寫過一個OC版本,http://www.lxweimin.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
+++++++++++++++++++++++++++++++++++++
    }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子閱讀 8,686評論 0 36
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,200評論 4 61
  • 人類會被誘惑所誘惑,會被問題而拖延, 最終這些問題都會歸結到一個人類特有的問題----我們如何看待未來。 “延遲折...
    11豆豆閱讀 712評論 1 0
  • 我就是想看看我能不能發文章
    遲月雕刻閱讀 145評論 0 0
  • 良辰頌 一世流年歸四同,春秋交交替夏冬。 良辰四月十一日,百花含苞待開時。 笑步野田垂綠柳,舞柳浪麥西南風。...
    思考的植物人閱讀 233評論 0 1