2016-03-15 79 views
0

我正在開發一個單獨的xib文件中的組件,然後將其添加到我的控制器中。問題是我的內部容器的尾端超出了我的外部容器的邊界。更確切地說,我的子視圖寬度適合我的視圖控制器,但子視圖內的元素將從該容器中移出。約束全部設置爲0(頂部,底部,尾部,領先)。我已經爲容器設置剪輯子視圖爲true。下面的圖片顯示了問題。當我構建應用程序時,第一張圖片上的右側標籤不受容器限制。每個元素都是一樣的。我玩過尾隨約束,如果將其設置爲-40,則屏幕上出現標籤,但我覺得必須有更好的解決方案。子視圖跳出屏幕邊界iOS(自動佈局)

Storyboard file Application build

,我使用的大小類是緊湊型:常規。

回答

0

當然,您提出了正確的解決方案。對於像標籤或圖像視圖(組件,可以基於內容隱式確定其大小)的組件,只需要在每個維度中設置一個約束。在你的情況下,它應該足以設置尾隨,例如,中心Y的label。其餘部分將取決於標籤內容本身

更新

看看Apple's guide on autolayoutIntrinsic Content Size

+0

是的,但我的問題是,當我設置尾0它實際上不是0,但標籤從屏幕上移開(例如,如果您將其設置爲-20或其他)。如果我要從左到右組裝我的元素,這不會成爲問題,但我需要將標籤釘在屏幕的右邊緣。 –

+0

在這種情況下,問題在於其他地方,而不是尾隨限制。你還有什麼限制? –

+0

我設法通過代碼而不是故事板添加子視圖來解決它。我找不到另一種解決方案。 –