【发布时间】:2010-05-23 21:05:30
【问题描述】:
我正在寻找更多关于正确设计视图的建议。
我拥有的是一个 UIScrollView,其中包含我创建的一个或多个自定义视图。我的问题是,谁向滚动视图报告它的 contentSize 应该是什么?我有以下内容:
UIView
+-UIScrollView
+-CustomView 1 with dynamic height depending on data
+-CustomView 2 with dynamic Height depending on data
UIViewController 使用数据创建自定义视图的新实例,然后将它们作为子视图添加到 UIScrollView。我遇到的问题是如何设置滚动视图的 contentSize 的值?现在,我没有这样做,并且滚动视图的内容被剪切,无法滚动。
- 自定义视图是否应在其 drawRect: 中调用 [父 setContentSize:]?
- UIViewController 是否应该在创建后查询自定义视图以获取其边界,然后调用 setContentSize?
- 我应该继承 UIScrollView 以覆盖 addSubView 来查询每个子视图的高度吗?
- 我还缺少什么吗?
我希望我正确地解释了这一点。我是新手,但我仍然掌握了一些东西。
【问题讨论】:
-
澄清一点以响应drawonward:我的自定义视图具有可变高度的文本和许多按行排列的图像。视图必须根据字体和内容计算文本的高度,并确定图像的行数。所有这些代码都在视图中。除非此代码在视图控制器中重复,否则视图控制器无法在滚动视图上设置 contentSize。
标签: iphone uikit uiscrollview