在滚动视图中获取内容视图子视图的高度
Posted
技术标签:
【中文标题】在滚动视图中获取内容视图子视图的高度【英文标题】:get height of a content view subview in a scroll view 【发布时间】:2014-02-19 09:26:52 【问题描述】:我正在尝试了解滚动视图如何与自动布局一起使用。 我知道有两种方法可以让它工作,纯版本或混合版本。我正在尝试混合版本,遵循此页面上的接收:https://developer.apple.com/library/ios/technotes/tn2154/_index.html
我有一个带有 contentView 作为第一个子视图的滚动视图。根据苹果recepi,我需要这样做:
[scrollView setContentSize:CGMakeSize(contentWidth,contentHeight)];
我已将我的 contentView 设置为 600 pt 高,但是当我运行应用程序时,它只记录屏幕大小而不是 contentView 的实际大小。
NSLog(@"%@", NSStringFromCGSize(self.scrollViewContent.bounds.size));
这会记录 320, 568
我做错了什么?
【问题讨论】:
scrollViewContent 表示滚动视图? scrollViewContent (UIView) 是我的滚动视图的第一个子视图。 scrollViewContent 包含其他视图,例如按钮等。 这意味着你的滚动视图有一个子视图(scrollViewContent)。但是otherview都是scrollViewContent的子视图。对吗? 【参考方案1】:根据您的 cmets,视图层次结构如下。这背后的概念,即使您更改滚动视图的内容大小,它也不会更改所有子视图的大小。
---ScrollView
-----scrollViewContent
------OtherViews
如果您想根据内容大小更改内容视图的大小,只需更改内容视图框架的大小即可。
CGRect newFrame = self.scrollViewContent.frame;
frame.size = scrollView.contentSize;
self.scrollViewContent.frame = newFrame;
【讨论】:
以上是关于在滚动视图中获取内容视图子视图的高度的主要内容,如果未能解决你的问题,请参考以下文章