7

所以我有一个非常复杂的项目。我直接使用 interface builder 和 xcode 来构建对象。现在,我在 IB 中构建了 UIScrollView,它们需要在其中构建,并且 UIButton 构建在这些滚动视图之上。在同一个地方有几个滚动视图,但这真的不应该有太大的区别。

无论如何,问题在于它在 iPhone 4 上完美运行。但是在 iPhone 5 上构建时,它将滚动视图移动到屏幕底部,之前它是 x=0,y=361。我所有的其他对象都被正确放置,它们下面有一些空白空间。我知道如何检查 iPhone 5:

我不知道如何在这里用颜色和诸如此类的东西发布代码,它们使它变得超级复杂,所以我将如何执行 if/then:

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        CGSize result = [[UIScreen mainScreen] bounds].size;
        if(result.height == 480){
            // iPhone Classic
        }
        if(result.height == 568){
            // iPhone 5
        }
    }

我不知道在 IB 中做 if/then 的方法。我尝试以这种方式手动更改位置:

[peopleScrollView scrollRectToVisible:CGRectMake(0, 449, 320, 58) animated:NO];

那没有用。那么,我要问的是有没有办法在代码本身中更改 UIScrollView 的位置?如果没有,那么我想我将不得不在代码中手动构建所有 5 个 UIScrollView,我绝对不想这样做。

4

1 回答 1

13

如果选择 Scroll View 对象,然后单击 Size Inspector 模块,您会注意到默认的 Autosize Mask 设置为:Left,Top。

左上自动调整大小/偏移蒙版

根据您的视图“模式”选项和视图的“自动调整子视图大小”选项,与 3.5" 屏幕相比,此视图和子视图将在 4" 屏幕上向下移动。

取决于您的特定视图在每个屏幕上外观取决于您。在我的项目中,我将自动调整大小蒙版调整为左、上和下,

左上下自动遮罩/偏移因为我希望我的 UIScrollView 和子视图保持在 3.5" 和 4" 的屏幕顶部(如在 IB 中绘制的那样)。

您还可以在自动调整图形的框内设置垂直和/或水平尺寸箭头

垂直和水平自动调整大小蒙版. 这将尝试为动态大小的屏幕相应地缩放对象。

Autosize Mask 应该是您使用 iPhone5 的新朋友。

请参阅Xcode 界面生成器。这些自动调整大小的蒙版设置有何不同?了解更多信息。

于 2012-10-01T04:40:46.533 回答