簡體   English   中英

在Xib文件上設置的約束不適用於iPad iOS

[英]Constraints set on xib file not working for ipad ios

我有一個要在iPhone和iPad上運行的應用程序。 我正在使用xib文件和自動布局。 該布局非常適合所有iphone模擬器,但不適用於ipad。 我有一個UIImageView可以覆蓋整個屏幕,並且我希望它可以完全覆蓋iphone和ipad的所有屏幕。 因此,我設置了以下約束:

在此處輸入圖片說明

其中new_BG.png是背景UIImageView。

但是,當我在ipad模擬器上運行該應用程序時,圖像僅覆蓋了屏幕的一部分。 這是一個屏幕截圖:

在此處輸入圖片說明

我需要為圖像覆蓋整個屏幕添加哪些限制? xib圖片: 在此處輸入圖片說明

還有一件事。 我嘗試通過使它等於屏幕尺寸的高度和寬度,在代碼中設置圖像視圖的框架,如下所示:

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
new_BG.frame = CGRectMake(0, 0, screenWidth, screenHeight);

但是在ipad上運行時,它仍然僅覆蓋屏幕的左上方。 然后,我將寬度和高度更改為100,但在ipad上運行時仍保持不變。

  1. 您的約束集是多余的-您可以使用單個關系替換.centerX和.centerY約束: new_BG.png.bottom-Superview.Bottom

  2. 如果UIImageView的Mode屬性設置為“左上”,則UIImageView可能以此方式顯示其UIImage。

  3. 由於您的UI元素布局也不正確,我認為問題不僅僅在於UIImageView(如果只有您的圖像包含本身描述的UI元素)

不要給出任何中心約束,例如中心x或中心y。 只需給出leading,trailing,bottom and top 這將在iPhone和iPad上全屏顯示。

而且我有uiview使用的自定義導航欄。 所以給它一個約束,例如- leading,trailing,top and fix height

希望這會起作用。

暫無
暫無

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

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