2015-03-18 38 views
0

我有一个UIScrollview和一个包含不同对象的视图。 像这样:将uiscrollview子视图调整为全屏

View 
UiScrollView 
    View -ContentView- 
    -Button 
    -Label 
    -... 
    -... 

在该内容查看,我设置上,下,左,右页边为0(从滚动视图这是上海华当然);我也设置了水平和垂直对齐中心;

然后我在contentView和scrollView的contentSize中添加我的所有视图。

获取scrollview lame last view的总高度并获取他的MaxY来设置scrollview的高度。

这很好用,问题在于ContentView视图没有更新其大小,但是它的对象不起作用,而且他的背景只是在屏幕视图中可见。

我附上了我的情况的图片,以便更容易看到它。

enter image description here

任何想法,我怎么能解决这个问题?

谢谢!

+0

你在按钮和按钮与contentView之间有约束吗?你不应该在代码中设置scrollView的高度,它应该由约束确定 – 2015-03-18 21:04:53

+0

当你设置scrollView.contentSize时,你还可以设置contentView的大小是否相同? – 2015-03-18 21:06:37

回答

1

这似乎是UIScrollView中对自动布局的常见误解。我希望你先看看这个文件。

https://developer.apple.com/library/ios/technotes/tn2154/_index.html

简单地说,改变的UIScrollView的contentSize不会改变你的内容查看的大小。相反,如果你想在那里使用自动布局,contentView的约束决定了UIScrollView的contentSize。

您有两种选择。第一个选项是将contentView的translatesAutoresizingMaskIntoConstraints设置为NO,并且每当更改UIScrollView的contentSize时,都将contentView的框架更改为与contentSize大小相同的框架。另一个选项是将宽度和高度约束添加到您的contentView。这将确定UIScrollView的contentSize。

相关问题