[英]Xcode 6 Storyboard the wrong size?
在Xcode 6(Beta 1)中從Swift開始構建一個新項目,並且看到了Storyboard和我正在查看的輸出的一些奇怪行為。
我已經構建了一個簡單的界面(如下所示) - 包含View Controller的屬性。 當我在模擬器中運行它時,我希望“Hello,World”成為用戶界面的核心 - 但是看起來這個“Square”只是適合iPhone屏幕,因此顯示了錯誤的視圖(見下文) )。
我的問題是:有其他人看到過這種行為,他們是如何解決這個問題的?
謝謝!
執行以下步驟以解決此問題
在Storyboard中,選擇任何視圖,然后轉到“文件”檢查器。 取消選中“使用大小類”,您將要求保留大小類數據:iPhone / iPad。 然后單擊“禁用大小類”按鈕。 這樣做會使故事板的視圖大小與所選設備一致。
雖然Asif Bilal的答案是一個更簡單的解決方案,它不涉及大小類(在iOS 8中引入),但強烈建議您習慣使用大小類,因為它們是未來,並且最終你會在某些方面跳入點。”
您可能沒有添加布局約束。
選擇標簽,點擊底部的布局約束按鈕:
在該菜單上添加寬度和高度(它不應該與我的相同)通過選中它們的復選框並單擊添加約束。 然后按住Control鍵並將標簽拖到主視圖中,然后在單擊時,應該選擇在容器中水平和垂直居中。 添加兩者,您應該進行設置。
如果您使用Xcode 6並為iOS 8設計,則這些解決方案都不正確。 要使您的僅iPhone視圖正確調整大小,請不要關閉大小類,不要關閉推斷的指標,也不要設置約束(尚未)。 相反,使用size類控件,它是Interface Builder底部的一個容易遺漏的文本按鈕,最初讀取“wAny hAny”。
單擊按鈕,然后選擇“緊湊寬度”,“常規高度”。 這會調整視圖大小並覆蓋所有iPhone縱向方向。 Apple的文檔在這里: https : //developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html或搜索“在Interface Builder中選擇大小類”
在Storyboard中,選擇ViewController並轉到Atribute Inspector。 在最頂部,在“模擬度量標准”下,您具有“大小”和“方向”屬性,這些屬性設置為“推斷”。 將它們更改為所需的值。
為了使應用程序能夠在另一個屏幕尺寸上正確顯示,您還必須設置約束,如CanPoyrazoğlu在第一篇文章中所述。
我在xcode 6中遇到了這個問題,並且有一種方法可以解決調整大小沖突。 如果選擇視圖,則會在底部看到一個類似於|-Δ-|的圖標。 如果單擊它,您的項目將調整為不同的設備調整大小。
轉到“屬性檢查器”(右上角)“模擬指標”,其中包含“大小”,“方向”,“狀態欄”,“頂欄”,“底欄”屬性。 對於SIZE,更改Inferred - > Freeform。
在Storyboard頁面上,轉到File Inspector並取消選中“Use Size Classes”。 這應該將您的視圖控制器縮小到您熟悉的常規IPhone大小。 請注意,使用“大小類”可以讓您跨多個設備設計項目。 取消選中后,Xcode將為您提供如下警告對話框。 這應該是自我解釋的。
“禁用大小類會將此文檔限制為存儲單個設備系列的數據。將保留最能代表目標設備的大小類的數據,並刪除所有其他數據。此外,segues將轉換為非 - 適應性等價物。“
對於使用XCode 7的任何人來說,設計特定設備尺寸(而不是默認的方形畫布)非常容易。
在Interface Builder中,從左側菜單中選擇ViewController或Scene。 然后在Show the Attributes Inspector
,轉到Simulated Metrics
,從下拉菜單中選擇所需的Size
。
您可能會使用“解決自動布局問題”(右下角 - 故事板視圖中的三角形圖標)來添加/重置建議的約束(Xcode 6.0.1)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.