Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 让UIScrollView使用自动布局_Ios_Uiscrollview - Fatal编程技术网

Ios 让UIScrollView使用自动布局

Ios 让UIScrollView使用自动布局,ios,uiscrollview,Ios,Uiscrollview,这似乎是一个非常常见的问题,但无论我做了哪段代码或更改,我都无法让它工作。我正在研究一个非常简单的例子 故事板设置为4“纵向。UIScrollView 320px宽x 440px高。它包含一个320px宽x 900px高的UIView。应用程序仅锁定为纵向,但需要在3.5英寸和4英寸屏幕上工作 要使UIView在UIScrollView中垂直滚动,我需要做什么?我需要设置一个约束吗?应该将Clip子视图和Autoresize子视图设置为什么,它是否会产生差异?应该将View模式设置为什么,它是否

这似乎是一个非常常见的问题,但无论我做了哪段代码或更改,我都无法让它工作。我正在研究一个非常简单的例子

故事板设置为4“纵向。UIScrollView 320px宽x 440px高。它包含一个320px宽x 900px高的UIView。应用程序仅锁定为纵向,但需要在3.5英寸和4英寸屏幕上工作

要使UIView在UIScrollView中垂直滚动,我需要做什么?我需要设置一个约束吗?应该将Clip子视图和Autoresize子视图设置为什么,它是否会产生差异?应该将View模式设置为什么,它是否会产生差异?我需要以编程方式重置UIScrollView的ContentSize吗?如果那么这是在ViewDidLoad事件上完成的吗

我尝试向UIView、UIView上的底部元素和UIScrollView本身添加垂直约束。我已通过编程方式设置内容大小以匹配UIView

我已经在各种其他工具中构建了UI,这让我为这么简单的东西发疯。如果我关闭自动布局,它可以正常工作,但这不是我要寻找的解决方案。

看看。另外,你也可以尝试设置scrollview的内容大小

// For verical scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width, viewToScroll.height * numberOfPages);

// For horizontal scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width * numberOfPages, viewToScroll.height);
另外,您还可以尝试设置scrollview的内容大小

// For verical scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width, viewToScroll.height * numberOfPages);

// For horizontal scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width * numberOfPages, viewToScroll.height);

最终得到了这个答案。

具体来说,我在viewDidLoad方法中的代码:

[_scrollView addConstraint:[NSLayoutConstraint constraintWithItem:_innerView
                                                           attribute:NSLayoutAttributeBottom
                                                           relatedBy:NSLayoutRelationEqual
                                                              toItem:_scrollView
                                                           attribute:NSLayoutAttributeBottom
                                                          multiplier:1.0
                                                            constant:0]];

最终得到了这个答案。

具体来说,我在viewDidLoad方法中的代码:

[_scrollView addConstraint:[NSLayoutConstraint constraintWithItem:_innerView
                                                           attribute:NSLayoutAttributeBottom
                                                           relatedBy:NSLayoutRelationEqual
                                                              toItem:_scrollView
                                                           attribute:NSLayoutAttributeBottom
                                                          multiplier:1.0
                                                            constant:0]];
这可能有用这可能有用