ios - 使用带有自动布局的 UIScrollView

标签 ios objective-c uiscrollview interface-builder autolayout

我正在尝试获得一个简单的 ScrollView 来使用自动布局。我的 SuperView 有一个 ScrollView 。 Scroll View 内部是一个 ContentView,然后是一个 ButtonsView。

View (320x480)
  |
  |__Scroll View(320x480)
          |
          |__ContentView(320x556)
                 |
                 |__ButtonsView(320x175)

SuperView 的 ScrollView 约束是 Lead、Trailing、Bottom 和 Top 的 0,0,0,0。 ScrollView 的 ContentView 约束是 0,0,-96,0 用于前导、尾随、底部和顶部。 -96 是因为我的内容 View 高度是 556。我在 ContentView 中有一个 ButtonsView。 ButtonView 对 ContentView 的约束是 0,0,238,64.35,用于前导、尾随、顶部和纵横比。

我的 xib 上出现缺少约束和可滚动内容大小歧义错误。

我不想硬编码我的 ContentView 或 ButtonsView 的宽度和高度,因为我希望 xib 也适用于 iPad。

有人可以告诉我我做错了什么以及如何解决这个问题吗?

enter image description here

enter image description here

谢谢

这不是一个重复的问题。上面的问题有一个 ScrollView ,它不能按预期工作。我的问题更多关于如何将自动布局规则应用于 ScrollView 。

最佳答案

您应该让 ScrollView 的内部内容来确定其内容大小。是否通过指示固定的高度和宽度(您不喜欢)。或者通过放置约束来确定与 View 相关的内部内容的大小。因此,在您的特定情况下,您可以为 ContentView 和 View 添加等宽约束。要调整高度,您可以为 ButtonsView 和 ContentView 添加等高约束,乘数为 175/556

关于ios - 使用带有自动布局的 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27009647/

相关文章:

ios - -(无效)finishedWithAuth :(GTMOAuth2Authentication *)auth error:(NSError *)error -- Method is not call

ios - 保护 iOS 应用程序包中的后端密码

ios - CLLocationManager - kCLErrorDomain

ios - 使用Twitter SDK发送推文失败,但我不知道为什么

ios - 将 UIPanGestureRecognizer 添加到 UIScrollView 时禁用滚动

ios - UICollectionView 水平分页仅在第一页上每行显示 3 个单元格

ios - UIScrollview 触摸

ios - 将 ViewController 缩小为圆形过渡 - swift

iphone - 如何在 iphone 中将数据传递给 Tbxml

ios - 从已知值创建 CNPostalAddress