所以我有一个非常复杂的项目.我正在使用接口构建器和
xcode直接构建对象.现在我有了在IB中构建的UIScrollViews,它们需要在那里构建,并且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 } }
我不知道如果/然后在IB中有办法.我尝试用这种方式手动更改位置:
[peopleScrollView scrollRectToVisible:CGRectMake(0,449,320,58) animated:NO];
那没用.那么,我要问的是有没有办法在代码本身中更改UIScrollView的位置?如果没有,那么我想我将不得不在代码中手动构建所有5个UIScrollViews,我绝对不想这样做.
解决方法
如果选择Scroll View对象,然后单击Size Inspector模块,您会注意到默认的Autosize Mask设置为:Left,Top.
根据您的视图“模式”选项和视图的“自动调整子视图”选项,此视图和子视图将在4英寸屏幕上向下移动,而不是3.5英寸屏幕.
取决于您的特定视图在每个屏幕上的外观取决于您.在我的项目中,我将自动调整大小的蒙版调整为左,上,下,
因为我希望我的UIScrollView和子视图保留在3.5“和4”的屏幕顶部(如IB中所示).
您还可以在自动调整大小图中的框内设置垂直和/或水平大小调整箭头
.这将尝试相应地缩放对象以用于动态大小的屏幕.
Autosize Mask应该是iPhone5的新朋友.
有关详细信息,请参阅Xcode Interface Builder. How Do These Autosizing Mask Settings Differ?.