你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 快速布局工具:AutoLinearLayoutView

快速布局工具:AutoLinearLayoutView

編輯:IOS開發基礎

本文為投稿文章,作者:qianbin(Github)

Demo:

screenshot4.gif 


AutoLinearLayoutView的實現完全基於Auto-Layout,並且支持iOS7以上的系統。

可以在Interface Builder中直接修改屬性,便於在Xib/Storyboard中快速構建界面:

screenshot2副本.png

和UIStackView相比,它多了Insets屬性,少了Distribution和Baseline Relative屬性。Insets屬性對於UIStackView來說基本無解(額外的約束會沖突)。而Distribution和Baseline Relative屬性對AutoLinearLayoutView來說,可以輕松的添加額外的約束來實現。

AutoLinearLayoutView充分考慮了內部隱含約束的優先級:

  • 通常,任何添加到其中的View都不會被拉伸,除非將View的Content Hugging Priority設置得足夠小(50,相當於Fill屬性)。這對開發者更友好,在添加多個View的時候不容易沖突。

  • 通常,任何添加到其中的View如果太大,都會將AutoLinearLayoutView撐大,或者自我擠壓,或者擠壓Sibling,這取決於View的Content Compression Resistance Priority。如果Compression Resistance Priority足夠大(950),將會突破Spacing和Insets的約束。

  • 不管子View有沒有Intrinsic Content Size,子View的Hugging/Compression優先級都會被衡量。這在需要用UIView輔助布局的時候會很有用 ,UIStackView並沒有考慮這一點。

另外,AutoLinearLayoutView支持動態添加/移除子View。

具體實現和Demo請訪問:https://github.com/qianbin/AutoLinearLayoutView 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved