处理iPhone 3.5英寸和iPhone 4英寸显示屏(UIScrollView)
我很难设计一个同时适合3.5英寸iphone和5英寸iphone(模拟器)的布局。我检查了自动布局,所有的布局都很完美。但是,我现在需要使用UIScrollView,因此需要取消选中“自动布局”以使用 另外,当使用iPhone4英寸显示屏查看布局时,它会在UIScrollView的顶部增加约60像素 是否有更好的方法(设置scrollview而不取消选择自动布局)?所以我可以支持iPhone4处理iPhone 3.5英寸和iPhone 4英寸显示屏(UIScrollView),iphone,ios,objective-c,uiscrollview,Iphone,Ios,Objective C,Uiscrollview,我很难设计一个同时适合3.5英寸iphone和5英寸iphone(模拟器)的布局。我检查了自动布局,所有的布局都很完美。但是,我现在需要使用UIScrollView,因此需要取消选中“自动布局”以使用 另外,当使用iPhone4英寸显示屏查看布局时,它会在UIScrollView的顶部增加约60像素 是否有更好的方法(设置scrollview而不取消选择自动布局)?所以我可以支持iPhone4 //to set up the scrollview [self.scrollView setScro
//to set up the scrollview
[self.scrollView setScrollEnabled:YES];
[self.scrollView setContentSize:CGSizeMake(320, 800)];
但是,在我取消选中自动布局之前,它不会滚动。有更好的方法吗?
UIScrollView
使用Autolayout时略有不同。你需要做一些修改。您的答案是。您可以对您的UIScrollView框架执行类似操作。根据下面的CGRect为scrollview分配帧
CGRect rect=[[UIScreen mainScreen] bounds];
希望,这对您有用。尝试自动调整大小
self.scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin);
试试这个(它解决了我的问题):
参考资料:为了更好地理解,请将您的问题的屏幕截图放在这里。UIScrollView,因此需要取消选中“自动布局”以使用
这是为什么?@ArkadiuszHolko由于某种原因,如果不取消选中“自动布局”,滚动视图将无法滚动。不过,我可能做错了。@Gman添加了更多的代码,并将屏幕截图放在屏幕上,以便理解更多的内容。@Gman没有其他代码,我使用故事板连接scrollview,并将其高度设置为大于视图本身,即800h。感谢您的评论,我尝试实现了建议的内容,但我觉得有点迷路了,我创建了一个子视图并将其添加到scrollview中,而不是将uiElements添加到它[scrollview addConstraint:[NSLayoutConstraint constraintWithItem:lastSubView属性:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual-toItem:scrollView属性:NSLayoutAttributeRight乘数:1.0常量:0]];
现在是否使用自动布局?选中自动布局?如果使用自动布局,是否添加了翻译自动调整大小GMaskintoConstraints=NO;
?我使用的是自动布局,但我没有使用翻译自动调整大小GMaskintoConstraints=NO;
,这会起作用吗?请进一步解释一下?
scrollView addConstraint:[NSLayoutConstraint constraintWithItem:lastSubView
attribute:NSLayoutAttributeRight
relatedBy:NSLayoutRelationEqual
toItem:scrollView
attribute:NSLayoutAttributeRight
multiplier:1.0
constant:0]];