ios - UIScrollView 内容大小固定为 600x600(Main.storyboard 大小)

标签 ios objective-c uiscrollview autolayout

过去两周我一直面临这个问题,但还没有解决方案。

我在存在问题的应用程序中使用 UIScrollview。
通常在我的应用程序中,有不同大小的动态文本和图像将来自网络服务。例如,想象一下 Facebook 新闻源。我的应用程序类似于 Facebook 新闻源。有时,只会有文字,有时会有文字和图像。以及对该帖子的评论。

正如我在许多链接中看到的那样,我关注的层次结构是 SuperView-->UIScrollView-->内容 View 并且元素被放置在该内容 View 中。我将内容 View 中元素的约束分配给 super View ( ContentView --- 约束 -- SuperView )。当 View 中的内容超过父 View 的大小时,它必须滚动。但是 ScrollView 的内容大小限制为 600x600 的大小,即在 main.storyboard 中,当我们为 设计时任意 x H 任意 尺寸。我看过很多教程并搜索了很多网站。但是跟随他们没有让我走运。

任何帮助都是可观的。

最佳答案

以下是如何在 Interface Builder 中从头开始设置与 Auto Layout 一起使用的 scrollView。

  • 从一个新的 ViewController 开始。拖出一个 ScrollView ,使其填充 View 。取消选中 Constrain to margins 并将此 scrollView 的左、上、右和下边缘约束到其父 View 的左、上、右和底部,偏移量为 0。这允许 scollView 以任何方式填充任何设备上的屏幕方向。如果你愿意,你可以让你的 scrollView 占用更少的屏幕,只要确保它是完全约束的。
  • 将 View 添加到您的 ScrollView 。这应该是您的 scrollView 上唯一的顶级 View ,它将用作您的 contentView。
  • 将此 contentView 的左、上、右和下边缘约束到 scrollView 的左、上、右和底部,偏移量为 0。此时,您将看到有关不明确内容大小的警告。那是因为你还没有告诉它你的内容 View 有多大。
  • 要调整 contentView 的大小,请向 contentView 添加宽度和高度约束。如果想让它滚动,宽度和高度必须大于scrollView本身的宽度和高度。如果只想垂直滚动,请将 contentView 的宽度设置为等于 scrollView 的宽度。为此,在 Document Outline View 中,按住 control 从 contentView 拖动到 scrollView 并从弹出窗口中选择 Equal Widths。
  • 如果您希望能够从代码中更改 contentView 的高度(以考虑动态内容),首先通过在 contentView 中拖动控件并从弹出窗口中选择 Height 来为您的 contentView 创建一个高度约束。创建 IBOutlet通过从高度约束(在 Document Outline View 中找到)拖动到 ViewController 的代码来控制高度约束。给 socket 起一个名字,如 scrollViewHeight然后用 scrollViewHeight.constant = 2000 之类的值设置高度当您需要更改 ScrollView 的高度时。
  • 关于ios - UIScrollView 内容大小固定为 600x600(Main.storyboard 大小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28577117/

    相关文章:

    ios - 导航 Controller 、导航项和导航栏

    ios - 错误说 viewController 不存在。iOS Xcode

    ios - 如何在同一类中的两个选择器 View 之间切换

    iphone - 分页 UIScrollView 中的干净自动旋转转换

    ios - 拉取刷新插件: PullToBounce Wrapper UIScrollView

    ios - 处理单击 imageView 的非透明区域 only ios

    c# - iOS 运行错误 s Xamarin Live Player 和 Hanselman.Forms

    ios - 如何保存组装好的 NSArray?

    背景中的 iPhone/iPod 按钮剪切到 UIAlertView TextBox

    iphone - UIAccessibility VoiceOver 宣布 UIScrollView 的页码错误