2

在研究了这里和其他网站之后,我似乎找不到可以帮助我解决问题或帮助我前进的答案。我可能没有在搜索中使用正确的术语。我发现的信息似乎集中在 iPhone 或 iPad 的纵向与横向视图的自动调整大小上,而不是在 3.5 和 4 外形尺寸之间的垂直重新间距上。

我在 Xcode 4.6.2 中布置了一个示例单一视图,以很好地适应 iPhone Retina 3.5 外形尺寸屏幕,但是当我单击应用 Retina 4 外形尺寸时,底部附近有一个空白区域。我本来希望所有视图项都垂直间隔开,以提供类似的令人愉悦的布局。我尝试了不同的约束设置,甚至在视图项上将垂直间距设置为 >=。

非常感激你的帮助!

我试图发布每种外形尺寸的屏幕截图,但我的“声誉”很低。

4

3 回答 3

1

您需要从 Storyboard/Xib 的界面中增加用户界面的大小,查找带有两个箭头的矩形,然后使用自动布局“弹簧和支柱”或使用框架和 CGRect 并以编程方式进行。S o!o!oenter image description here] 1 ver there

于 2013-06-03T18:00:33.243 回答
0

迟到总比不好。

我找到了一种代码方法来解决您缩小视图之间的垂直空间的问题。

#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];
}

它仍然可以调整,但可以完成工作。

希望它对您有所帮助,因为它在经过很多努力后对我有所帮助。

于 2013-11-05T19:41:19.210 回答
0

答案取决于您是否使用自动布局(iOS 6 及更高版本)。如果没有,请查看自动调整大小的掩码(在 IB 中称为自动调整大小,autoresizingMask当以编程方式调整视图的掩码时,通俗地称为“弹簧和支柱”)。

如果不使用自动布局,则使用“自动调整大小”设置。例如,这会将底部视图设置为自动调整视图的高度和宽度,保持顶部、底部、左侧和右侧边距固定:

自动调整大小

点击右侧面板上的各种红色箭头和工字梁,您可以调整要进行的自动调整大小。右侧的小动画窗​​口将向您展示控件将如何根据 3.5" 或 4.0" 屏幕调整大小。

如果使用自动布局(iOS 6 及更高版本),则相应地为超级视图设置约束:

自动布局

第一次使用时在自动布局中设置约束有点令人困惑,但我建议您参考Cocoa Auto Layout Guide。那里也有精彩的 WWDC 2012 视频资源的链接。

于 2013-06-03T18:04:58.343 回答