在滚动视图中获取内容视图子视图的高度

时间:2014-02-19 09:26:53

标签: ios uiscrollview autolayout

我正在尝试了解滚动视图如何与autolayout一起使用。 我知道有两种方法可以让它工作,纯版本或混合版本。我正在尝试使用混合版本,按照此页面上的recepi:https://developer.apple.com/library/ios/technotes/tn2154/_index.html

我有一个滚动视图,其中contentView作为第一个子视图。根据apple recepi,我需要这样做:

[scrollView setContentSize:CGMakeSize(contentWidth,contentHeight)];

我已将contentView设置为600 pt高,但是当我运行应用程序时,它只记录屏幕大小而不是contentView的实际大小。

NSLog(@"%@", NSStringFromCGSize(self.scrollViewContent.bounds.size));

记录{320,568}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据您的评论,视图层次结构如下。这背后的概念,即使您更改滚动视图的内容大小,也不会更改所有子视图的大小。

---ScrollView
    -----scrollViewContent
          ------OtherViews

如果要根据内容大小更改内容视图的大小,只需更改内容视图框的大小。

CGRect newFrame = self.scrollViewContent.frame;
frame.size = scrollView.contentSize;
self.scrollViewContent.frame = newFrame;