【发布时间】:2017-06-26 10:36:53
【问题描述】:
我有更多超过 ViewController 高度的内容行,我想通过滚动在同一屏幕上显示它。有什么方法可以实现吗?
【问题讨论】:
标签: ios objective-c uiviewcontroller viewcontroller
我有更多超过 ViewController 高度的内容行,我想通过滚动在同一屏幕上显示它。有什么方法可以实现吗?
【问题讨论】:
标签: ios objective-c uiviewcontroller viewcontroller
使用UIScrollView 并将您的内容放入其中。
【讨论】:
您也可以使用 UIScrollView 或 UITableView。
将所有视图添加为一个超级视图的子视图,比如 containerView。添加 containerView 作为 UIScrollView 的子视图。不要忘记为 UIScrollView 设置适当的内容大小。您可以通过适当的自动布局或以编程方式完成它
CGRect contentRect = CGRectZero;
for (UIView *view in self.scrollView.subviews) {
contentRect = CGRectUnion(contentRect, view.frame);
}
self.scrollView.contentSize = contentRect.size;
您还可以将 UITableViewController 与静态单元格一起使用。您可以在静态单元格中添加视图,一切顺利。 UITableViewController 本身管理滚动。
希望对您有所帮助。快乐编码!
【讨论】:
您可以使用 UIScrollView (正如 @luckyShubhra 和 @chedabo 建议的那样),在这种情况下,您可以在 Storyboard 中正确设置 UI,并拥有 UIScrollView 的内容大小设置为 UIScrollView 中包含的 viewController 的大小...
还有 UITableView (正如@luckyShubhra 建议的那样)...如果您的数据设置为作为 NSString 或对象列表处理,这可以很好地工作...
如果内容是 NSString,并且您将使用 UILabel,我建议将其更改为 UITextView... 这也可以滚动。如果内容不被编辑,只需将 Selectable 和 Editable 布尔值更改为 false ...
【讨论】:
UIScrollView 甚至 UITextView 也可以提供帮助。如果是 HTML,可以考虑用 UIWebView 渲染。
只要确保控件高度小于视图控制器,它就会以可滚动的方式呈现内容。
【讨论】: