gpt4 book ai didi

ios - UIScrollView 中的 subview 不会根据内容大小调整大小

转载 作者:行者123 更新时间:2023-12-01 22:33:22 25 4
gpt4 key购买 nike

我正在使用 Xcode 7.0 并在 iOS 8 上进行测试。这是我的 View 层次结构:

  • ScrollView
  • 内容 View
  • 一些标签和 View
  • 地址 View
  • 多个文本字段,垂直排序

  • 内容 View 为 ScrollView 设置了以下约束:
  • 顶部,
  • 底部,
  • 领先,
  • 尾随,
  • 对齐中心 x 和
  • 对齐中心 y。

  • ScrollView 的内容大小设置如下:
    - (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    [self.scrollView setContentSize:CGSizeMake(CGRectGetWidth(self.scrollView.bounds), CGRectGetMaxY(self.viewAddress.frame) + kICMarginStandard)];
    }

    然而,内容 View 不会调整到 ScrollView 的内容高度,而只会调整到屏幕高度。即使 ScrollView 正确滚动并且可以看到我的文本字段,如果我点击它们,它们也不会收到触摸事件。

    这是一个屏幕截图,其中内容滚动到底部,内容 View 具有红色背景色。选择国家/地区接收触摸事件,但 zip、城市和地址文本字段不接收:

    Scrolled to bottom

    我该如何解决这个问题,以便我的所有文本字段都能正常工作?

    最佳答案

    由于您使用自动布局,因此无需手动设置 scrollView 的 contentSize。

    您只需要在 scrollView 的 subview 之间正确设置约束并向 scrollView 的边缘添加约束,例如:

    scrollView.Top-|-contentView.Top-|-subview-|-subview-|-...-|-contentView.Bottom-|-scrollView.Bottom

    左右边缘也一样,所以会自动计算scrollView的内容大小。

    检查 subview 之间的约束两次。

    关于ios - UIScrollView 中的 subview 不会根据内容大小调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33018850/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com