处理iPhone 3.5英寸和iPhone 4英寸显示屏(UIScrollView)

时间:2013-10-10 10:42:10

标签: iphone ios objective-c uiscrollview

我很难处理设计适合3.5英寸iphone和5英寸iPhone(模拟器)的布局。我检查了自动布局,所有布局都很完美。但是我现在需要使用UIScrollView,因此需要取消选中要使用的自动布局。

此外,当使用iPhone 4英寸显示屏查看布局时,它会在UIScrollView的顶部添加大约60px。

有更好的方法吗(设置scrollview而不取消选择自动布局)?所以我可以支持iPhone 4。

//to set up the scrollview
[self.scrollView setScrollEnabled:YES];
[self.scrollView setContentSize:CGSizeMake(320, 800)];

然而,在取消选中自动布局之前,它不会滚动。有更好的方法吗?

4 个答案:

答案 0 :(得分:1)

尝试autoresize,

 self.scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin);

答案 1 :(得分:0)

使用Autolayout时,

UIScrollView略有不同。你需要做一些修改。你的答案是here

答案 2 :(得分:0)

您可以对UIScrollView frame执行此类操作。按照以下CGRect将帧分配给scrollview。

CGRect rect=[[UIScreen mainScreen] bounds];

希望,这对你有用。

答案 3 :(得分:0)

试试这个(它解决了我的问题):

scrollView addConstraint:[NSLayoutConstraint constraintWithItem:lastSubView
                                         attribute:NSLayoutAttributeRight
                                         relatedBy:NSLayoutRelationEqual
                                            toItem:scrollView
                                         attribute:NSLayoutAttributeRight
                                        multiplier:1.0
                                          constant:0]];

参考:UIScrollView doesn't use autolayout constraints