關(guān)于一些細(xì)節(jié)

關(guān)于一些細(xì)節(jié)

  • UILabel

[label sizeToFit];  //label的大小自動(dòng)根據(jù)文字適應(yīng)(僅限于自己手動(dòng)創(chuàng)建的label)

autoresizing使用前的解釋:

UIViewAutoresizing是一個(gè)枚舉類型,默認(rèn)是UIViewAutoresizingNone,也就是不做任何處理。


typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
    UIViewAutoresizingFlexibleHeight       = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};

各屬性解釋:

  • UIViewAutoresizingNone
    不會(huì)隨父視圖的改變而改變

  • UIViewAutoresizingFlexibleLeftMargin
    自動(dòng)調(diào)整view與父視圖左邊距,以保證右邊距不變

  • UIViewAutoresizingFlexibleWidth
    自動(dòng)調(diào)整view的寬度,保證左邊距和右邊距不變

  • UIViewAutoresizingFlexibleRightMargin
    自動(dòng)調(diào)整view與父視圖右邊距,以保證左邊距不變

  • UIViewAutoresizingFlexibleTopMargin
    自動(dòng)調(diào)整view與父視圖上邊距,以保證下邊距不變

  • UIViewAutoresizingFlexibleHeight
    自動(dòng)調(diào)整view的高度,以保證上邊距和下邊距不變

  • UIViewAutoresizingFlexibleBottomMargin
    自動(dòng)調(diào)整view與父視圖的下邊距,以保證上邊距不變
    在這里說(shuō)明一下,如果是經(jīng)常使用Storyboard/Xib設(shè)置autoresizing,那么轉(zhuǎn)變使用代碼設(shè)置autoresizing的話,容易出現(xiàn)理解錯(cuò)誤問(wèn)題。比如說(shuō)UIViewAutoresizingFlexibleTopMargin,也許會(huì)被誤認(rèn)為是頂部距離不變,其實(shí)是底部距離不變。這個(gè)解決辦法也很簡(jiǎn)單,只需要把使用代碼和使用Storyboard設(shè)置autoresizing,它們是相反的,只需要這樣去記就可以了。

  • autoresizing組合使用:

也就是枚舉中的值可以使用|隔開(kāi),同時(shí)擁有多個(gè)值的功能,可以針對(duì)不同的場(chǎng)景作不同的變化。例如:

UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin
意思是:view的寬度按照父視圖的寬度比例進(jìn)行縮放,距離父視圖頂部距離不變。

其它的組合類似,我這里就不一一列舉了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容