簡體   English   中英

iPhone Xcode視圖將不會在3.5英寸到4英寸的屏幕上垂直放置子視圖

[英]iPhone Xcode view will not space subviews vertically from 3.5“ to 4” screen

在這里和其他站點進行研究之后,我似乎找不到找到可以幫助我解決問題或幫助我前進的答案。 我在搜索中可能沒有使用正確的術語。 我發現的信息似乎集中在自動調整iPhone或iPad的縱向和橫向視圖的大小上,而不是關注3.5和4尺寸之間的垂直間距。

我已經在Xcode 4.6.2中列出了一個示例單視圖,以很好地適合iPhone Retina 3.5外形尺寸屏幕,但是當我單擊以應用Retina 4外形尺寸時,底部附近有一個空白區域。 我本來希望所有視圖項在垂直方向上都隔開,以提供相似的布局。 我嘗試了不同的約束設置,甚至在視圖項上將垂直間距設置為> =。

非常感激你的幫助!

我試圖發布每種外形尺寸的屏幕截圖,但我的“聲譽”很低。

您需要從情節提要/ Xib的界面中增加用戶界面的大小,查找帶有兩個箭頭的矩形,並使用“自動布局”,“彈簧和支柱”或使用“框架和CGRect”並以編程方式進行操作。 這里有圖像說明] 1 ver

答案取決於您是否使用自動布局(iOS 6及更高版本)。 如果不是,請查看自動調整大小的蒙版(在IB中稱為自動調整大小,以編程方式調整視圖的蒙版時自動調整大小的autoresizingMask ,俗稱“彈簧和撐桿”)。

如果不使用自動布局,則使用“自動調整”設置。 例如,這將底視圖設置為自動調整視圖的高度和寬度,並保持頂部,底部,左側和右側的邊距不變:

自動調整大小

單擊右側面板上的各種紅色箭頭和工字梁,即可進行操作,您可以調整要進行的自動調整大小。 右側的小動畫窗​​口將向您顯示控件如何根據3.5“或4.0”屏幕調整大小。

如果使用自動布局(iOS 6及更高版本),則需要為超級視圖設置約束:

自動布局

第一次使用時,在自動布局中設置約束會有些混亂,但是我會向您介紹《 可可自動布局指南》 也有指向精彩的WWDC 2012視頻資源的鏈接。

遲到總比沒有好。

我找到了一種解決您的縮小視圖之間垂直空間的方法。

#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

//Shrink your constraints at run time!!
if(!IS_WIDESCREEN)
{
    for(NSLayoutConstraint *c in self.view.constraints)
    {
        if ((c.firstAttribute == NSLayoutAttributeTop && c.secondAttribute == NSLayoutAttributeBottom) || (c.firstAttribute == NSLayoutAttributeBottom && c.secondAttribute == NSLayoutAttributeTop)) 
        {
            if(c.constant > 13) // -> this value is adjustable so that some spaces doesn't shrink too much
            {
                c.constant *= (3.5/4.0);
            }
        }
    }

    [self.view layoutIfNeeded];
}

它仍然可以調整,但是可以完成。

希望它能對您有所幫助,因為它在經過很多努力后對我有所幫助。

暫無
暫無

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

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