[英]Autolayout - Dynamically change subview size depending on screen size
我已經在自動布局中正確設置了我的設計,但是現在我想嘗試一種方法來根據屏幕大小動態更改圖標和字體的視圖大小(請參見下圖),但我沒有設置在自動布局中玩耍似乎會拉長圖像。 這是我必須完全以編程方式要做的事情嗎? 如您所見,iPhone 6版本的空間太大了,所以我需要一種方法來填充它。
您在這里有幾個選擇。
1)您可以通過編程方式進行操作,但是很多人搞砸了數學,代碼也不是很干凈。 最好的方法(我認為)是在要更改的對象上設置布局約束,然后將其與IBOutlet掛鈎(您可以掛鈎約束,就像掛鈎UI元素一樣)。 從那里,您可以將myConstraint.constant設置為所需的任何值。
2)您還可以設置<=或> =值的約束。 這使您可以使事物變大或變小。 您可以使用這些技巧。 通常,您可以結合使用這些設置來設置事物的最小和最大大小。
3)Xcode 6允許您為不同的屏幕尺寸設置不同的約束。 這是最新的方式,可能也是Apple希望您執行的方式。 也應該有很多有關如何使用此選項的信息。
您必須以編程方式手動控制字體大小。 但是,圖像尺寸可以縮放。 只需將圖像固定到其父對象即可,而不必限制其寬度/高度,而應添加寬高比的約束。
結合使用大小類和自動布局,這是制作UIControls的一種樂趣。
我試圖找出一種方法來動態更改圖標的視圖大小,這是我必須完全以編程方式完成的事情嗎? :無需編程,您需要深入了解大小類,只需處理視圖,寬高比,約束(兄弟姐妹)之間的關系,這樣就不會出現其他沖突 , 您可以在此處查看更多信息 。
我正在嘗試找出一種根據屏幕大小動態更改字體的方法 : 在這里,您可以將其添加到與大小類相關的屬性檢查器中 , 從Doc中進行檢查
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.