2015-10-08 86 views
0

自從更新到XCode7/iOS9之後,似乎很奇怪的事情正在發生。在我的故事板佈局中,視圖仍然是固定的320 x 568。我遇到了一個問題,當我運行iPhone 6模擬器時,屏幕右側的很大一部分被切斷。所以我創建了一個新的故事板和1個視圖的測試項目。我添加了一個子視圖,將其設置爲背景紅色,並將其設置爲與父級相同的大小:320寬,並在其上設置寬度約束320。我的期望是,紅色子視圖將縮放到任何尺寸的iPhone屏幕寬度。XCode 7 Storyboard UI問題

enter image description here

我得到的是以下幾點:

enter image description here

所以我登錄self.view.frame.size.width和跟它的寬度爲375至情節板中,我將紅色子視圖的寬度設置爲375,將寬度約束更新爲375,並且您知道什麼......它完全按照它應該填充父視圖的寬度。

問題是,我不應該這樣做。我爲什麼要在屏幕上做我的設計?

蘋果公司試圖在這裏強迫我做什麼?我從來沒有在Xcode 6中遇到過這個問題。

回答

1

就我所見,您缺少約束條件。 請適當添加約束條件。 建議您添加左邊距和右邊距,以及頂部空間+高度。

即,選中您的「紅色」視圖後點擊方塊,然後點擊方框的左側,右側和頂部。然後點擊「高度」字段,然後「添加約束條件」

+0

那麼,這是從未在xcode 7之前強制執行的。也許是現在呢?我知道,通常我會添加至少一個前導,頂部和尾部約束,但在特定情況下,我希望有多個視圖從屏幕開始並生成動畫,因此可以說其中一個視圖沒有尾部約束。現在的問題是,它將顯示320而不是375寬。或者我現在只需要做更多的工作,並添加更多的程序化約束條件。 – Jesse

+0

這不是「強制執行」。 IT只是不知道該怎麼做,並使用一個靜態大小。相信我並做到這一點。我保證它會起作用......或者你可以把你的代碼發給我! –

+0

我知道它會起作用,我從來沒有必須明確地設置約束條件。在以前的xcode版本中,你可以做到我沒有任何限制的工作,它會工作 – Jesse