xcode 4.5,iPhone 5打破了我的UIScrollView

Jef*_*one 7 objective-c uiscrollview xcode4.5

所以我有一个非常复杂的项目.我正在使用接口构建器和xcode直接构建对象.现在我将UIScrollViews构建在IB中,他们需要在那里构建,并在这些滚动视图之上构建UIButton.在同一个地方有几个滚动视图,但这真的不应该有很大的不同.

无论如何,问题是它在iPhone 4上完美运行.但是当在iPhone 5上构建时,它将Scrollviews移动到屏幕的底部,在此之前它是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
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不知道如果/然后在IB中有办法.我尝试过这样手动更改位置:

[peopleScrollView scrollRectToVisible:CGRectMake(0, 449, 320, 58) animated:NO];
Run Code Online (Sandbox Code Playgroud)

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

Nat*_*tie 13

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

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

根据您的视图"模式"选项和视图的"自动调整子视图"选项,此视图和子视图将在4英寸屏幕上向下移动,而不是3.5英寸屏幕.

根据您的特定视图什么应该看每个屏幕上是取决于你.在我的项目中,我将自动调整大小的蒙版调整为左,上和下,

左上 - 下自动屏蔽/偏移因为我希望我的UIScrollView和子视图保留在3.5"和4"的屏幕顶部(如IB所示).

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

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

Autosize Mask应该是iPhone5的新朋友.

请参阅Xcode Interface Builder.这些自动调整遮罩设置有何不同?了解更多信息.