【问题标题】:The content exceeds the ViewController view, How could i show my lengthy contents in screen by scrolling?内容超出了 ViewController 视图,如何通过滚动在屏幕上显示冗长的内容?
【发布时间】:2017-06-26 10:36:53
【问题描述】:

我有更多超过 ViewController 高度的内容行,我想通过滚动在同一屏幕上显示它。有什么方法可以实现吗?

【问题讨论】:

    标签: ios objective-c uiviewcontroller viewcontroller


    【解决方案1】:

    使用UIScrollView 并将您的内容放入其中。

    【讨论】:

      【解决方案2】:

      您也可以使用 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 本身管理滚动。

      希望对您有所帮助。快乐编码!

      【讨论】:

        【解决方案3】:

        您可以使用 UIScrollView (正如 @luckyShubhra 和 @chedabo 建议的那样),在这种情况下,您可以在 Storyboard 中正确设置 UI,并拥有 UIScrollView 的内容大小设置为 UIScrollView 中包含的 viewController 的大小...

        还有 UITableView (正如@luckyShubhra 建议的那样)...如果您的数据设置为作为 NSString 或对象列表处理,这可以很好地工作...

        如果内容是 NSString,并且您将使用 UILabel,我建议将其更改为 UITextView... 这也可以滚动。如果内容不被编辑,只需将 Selectable 和 Editable 布尔值更改为 false ...

        【讨论】:

          【解决方案4】:

          UIScrollView 甚至 UITextView 也可以提供帮助。如果是 HTML,可以考虑用 UIWebView 渲染。

          只要确保控件高度小于视图控制器,它就会以可滚动的方式呈现内容。

          【讨论】:

            猜你喜欢
            • 2022-08-19
            • 2022-01-12
            • 2018-05-17
            • 2012-07-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多