使用自动布局调整超级视图和所有超级视图的同级大小

塔兹

我正在尝试管理屏幕上的视图,以便所有视图都根据输入的文本不断增长的文本视图进行更新。

在控制器的视图上,我有两个子视图。我们称它们为view1和view2。View1具有一个uitextview子视图,该子视图根据输入的文本而增长和缩小。

我遇到的问题是,键入时view1和view2不会增大和缩小。textView底部到底部的垂直间距的约束常数已从其superview设置为10px。view1和view2之间的垂直间距设置为0。这是视图的直观表示:

 ---------------------
|                     |
|  -----------------  |
| |   UITextView    | |
|  -----------------  |
|        view1        |
 ---------------------
|                     |
|                     |
|                     |
|                     |
|        view2        |
|                     |
|                     |
|                     |
|                     |
|                     |
 ---------------------

将文本添加到textView时得到的结果是:

 ---------------------
|                     |
|  -----------------  |
| |   UITextView    | |
| |                 | |
| |                 | |
 ---------------------
|                     |
|                     |
|                     |
|                     |
|        view2        |
|                     |
|                     |
|                     |
|                     |
|                     |
 ---------------------

但是所需的行为将类似于以下内容:

 ---------------------
|                     |
|  -----------------  |
| |   UITextView    | |
| |                 | |
| |                 | |
| |                 | |
| |                 | |
| |                 | |
|  -----------------  |
|        view1        |
 ---------------------
|                     |
|                     |
|        view2        |
|                     |
|                     |
|                     |
 ---------------------

奇怪的是,一旦我添加了文本并按下了提交(为简单起见,未将其添加到图表中),view1就会增长到正确的大小,view2也会增长到正确的大小,但键入时却不会。

我是否需要显式调用setNeedsUpdateConstraints或updateConstraintsIfNeeded?如果是这样,在哪里?我尝试从文本视图委托textViewDidChange调用它:但是没有任何帮助。

任何帮助将非常感激。

塔兹

我设法弄清楚了。

对于阅读此书的人来说,遇到同样的问题,我的方法是编写自己的UITextView子类,以提供高度限制和一些委托方法。

更改文本视图的高度时,只需触发委托方法(例如textViewDidChangeHeight :)。然后,在委托回调实现中,我仅在视图上调用了sizeToFit。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何调整超级视图的大小以适合具有自动布局的所有子视图?

来自分类Dev

调整超级视图的大小,同时使用自动布局动态添加子视图

来自分类Dev

调整超级视图的大小,同时使用自动布局动态添加子视图

来自分类Dev

超级视图加载完成后调整子视图的大小

来自分类Dev

使用自动布局以编程方式居中UIView可使视图从超级视图中消失

来自分类Dev

展开方形视图以使用自动布局填充矩形超级视图

来自分类Dev

使用自动布局将子视图的尾端与超级视图的中心X轴对齐

来自分类Dev

展开方形视图以使用自动布局填充矩形超级视图

来自分类Dev

具有自动布局的NSCollectionView自动调整大小子视图

来自分类Dev

缩放超级视图时如何防止按钮调整大小?

来自分类Dev

使用自动布局弹出键盘时如何调整视图大小

来自分类Dev

使用自动布局调整子视图以保持其大小

来自分类Dev

Mac OS X使用带有视图控制器的自动布局,并允许调整窗口大小

来自分类Dev

自动布局-使超级视图的高度等于子视图的高度+恒定,其中子视图为textView

来自分类Dev

视图和超级视图有什么区别?

来自分类Dev

如何使用视觉语言设置自动布局约束以使用默认常量和非默认优先级进行超级视图

来自分类Dev

如何在XIB中基于子视图的大小调整超级视图的高度?

来自分类Dev

使用 layoutAnchor 填充超级视图

来自分类常见问题

使用自动布局动态更改子视图后调整视图的大小

来自分类Dev

可可自动布局和子视图的大小

来自分类Dev

UIView使用自动布局拥抱所有子视图

来自分类Dev

自动布局:将视图的centerX与另一个视图保持相同,但不要超越其超级视图

来自分类Dev

子视图未按比例调整为超级视图

来自分类Dev

在本地视图中从超级视图的底部布局按钮

来自分类Dev

iOS故事板-自动布局不会调整子视图的大小和位置

来自分类Dev

自动布局和可调整大小的视图存在问题

来自分类Dev

自动布局视图在交互时会调整大小

来自分类Dev

iOS 8自动布局-视觉格式语言如何向超级视图的边缘添加约束

来自分类Dev

如何以编程方式分配UIViews自动布局边缘以匹配超级视图?

Related 相关文章

  1. 1

    如何调整超级视图的大小以适合具有自动布局的所有子视图?

  2. 2

    调整超级视图的大小,同时使用自动布局动态添加子视图

  3. 3

    调整超级视图的大小,同时使用自动布局动态添加子视图

  4. 4

    超级视图加载完成后调整子视图的大小

  5. 5

    使用自动布局以编程方式居中UIView可使视图从超级视图中消失

  6. 6

    展开方形视图以使用自动布局填充矩形超级视图

  7. 7

    使用自动布局将子视图的尾端与超级视图的中心X轴对齐

  8. 8

    展开方形视图以使用自动布局填充矩形超级视图

  9. 9

    具有自动布局的NSCollectionView自动调整大小子视图

  10. 10

    缩放超级视图时如何防止按钮调整大小?

  11. 11

    使用自动布局弹出键盘时如何调整视图大小

  12. 12

    使用自动布局调整子视图以保持其大小

  13. 13

    Mac OS X使用带有视图控制器的自动布局,并允许调整窗口大小

  14. 14

    自动布局-使超级视图的高度等于子视图的高度+恒定,其中子视图为textView

  15. 15

    视图和超级视图有什么区别?

  16. 16

    如何使用视觉语言设置自动布局约束以使用默认常量和非默认优先级进行超级视图

  17. 17

    如何在XIB中基于子视图的大小调整超级视图的高度?

  18. 18

    使用 layoutAnchor 填充超级视图

  19. 19

    使用自动布局动态更改子视图后调整视图的大小

  20. 20

    可可自动布局和子视图的大小

  21. 21

    UIView使用自动布局拥抱所有子视图

  22. 22

    自动布局:将视图的centerX与另一个视图保持相同,但不要超越其超级视图

  23. 23

    子视图未按比例调整为超级视图

  24. 24

    在本地视图中从超级视图的底部布局按钮

  25. 25

    iOS故事板-自动布局不会调整子视图的大小和位置

  26. 26

    自动布局和可调整大小的视图存在问题

  27. 27

    自动布局视图在交互时会调整大小

  28. 28

    iOS 8自动布局-视觉格式语言如何向超级视图的边缘添加约束

  29. 29

    如何以编程方式分配UIViews自动布局边缘以匹配超级视图?

热门标签

归档