簡體   English   中英

ios自適應布局/尺寸類別以針對特定手機尺寸?

[英]ios adaptive layout / size classes to target specific phone size?

我已經把剩下的一切都弄亂了自適應布局和大小類。 剛開始我並不是天才,但現在我是禿頭。

說我有一個非常簡單的布局,我想確保在3.5、4、4.7和5.5 iPhone上看起來完美(並且完美的意思是我的所有ui元素都存在)。

好的,我以任何任意大小開始,所有元素都放置有約束,沒有警告,沒有錯誤。 好去。 在預覽模式下加載各種尺寸的手機,5.5看起來不錯,4.7看起來不錯,4看起來還可以,3.5需要一些工作。

我想用3.5和4(NOT 4、4.7和5.5)來付諸實踐,是否可以通過尺寸等級實現這一目標? 我需要在代碼中執行多個情節提要還是執行此操作或某種類型的設備大小檢查? 我遇到了一個走過多個故事板的家伙,似乎是個很大的黑客,很多人都對他的做法持懷疑態度,但我敢打賭他仍然長頭發。

我想我要問的是,尺寸類可以用於指定特定尺寸嗎? 如果您希望布局在3.5、4、4.7和5.5上看起來完美,那么建議的解決方法是什么?

不,尺寸等級並不能真正幫助您。 並且請不要做多個情節提要。 在看不到用戶界面以及在較小的屏幕上遇到什么問題的情況下,很難給出一些具體的建議,但是在大多數情況下,如果用戶界面無法在相同尺寸級別的尺寸之間正確縮放,我想您應該重新考慮一下用戶界面或您的約束。

在最壞的情況下,您可能會遇到有問題的約束,並根據屏幕大小從代碼中更新約束。

在這里查看我的答案:

https://stackoverflow.com/a/28093987/1135714

就像我說的,AutoLayout不是特定於設備的,但是有一種解決方法。 您可以放置UIView或通過代碼設置約束(這很簡單)。

只有所有不同尺寸的iPhone設備都可以使用一種尺寸類型,即緊湊尺寸。 因此,解決方案是1。當您設置約束時,您必須設置關系(等於,大於或等於或小於或等於)。 這有助於根據當前設備的大小調整視圖的大小或視圖之間的間距。

為了獲得您的期望外觀,我們必須清除具有不同優先級,關系,不同大小的約束值的緊湊約束設置(compact-regular,compact-compact,regular-regular,regular-compact)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM