【问题标题】:Automatically reposition views after UITextview resizes - iOSUITextview 调整大小后自动重新定位视图 - iOS
【发布时间】:2011-08-11 04:08:33
【问题描述】:

举个简单的例子,假设我有一个 UITextView,下面有一个 Button。这两个控件是嵌入在父 UIView 中的兄弟。

我现在更改 UITextView 中的文本并相应地调整它的大小。有没有办法让按钮自动移动到与 UITextView 底部有相同的相对距离?对于这种情况,这可能看起来微不足道,但我将有一个更长的层次结构,多个 UITextView 会发生变化,而且不必手动计算每个对象的高度会很好。

【问题讨论】:

  • 您应该接受上一个问题的正确答案。它将帮助您在将来获得答案。 :)

标签: iphone ios


【解决方案1】:

解决此问题的一种方法是使用表格视图:如果您将每个文本视图放置在其自己的表格视图单元格中,表格视图将根据对其委托的 -tableView:heightForRowAtIndexPath: 方法的单独调用自动计算其总高度,并且相应地布置自己。每当您的一个文本视图的高度需要更改时,您可以在表格视图上调用-reloadData 以使其重新布局。这种方法的一个缺点是很难对高度变化进行动画处理。如果这对你想要的效果很重要,恐怕你会被手动完成整个布局所困扰。

【讨论】:

    【解决方案2】:

    试试 UIView 的 autoresizingMask 属性。

    【讨论】:

    • 据我所知,这只会调整子视图的大小。我需要它来调整兄弟视图的大小。
    • 那么您需要在视图层次结构中将其管理得更高——如果它是一个自定义类,layoutSubviews 是一个很好的地方。 - - - 在较新的 OS X 版本中有更新的大小调整策略,它们可能会渗透到 iOS
    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 2011-05-08
    • 1970-01-01
    • 2019-04-13
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    相关资源
    最近更新 更多