【发布时间】:2013-12-26 18:35:30
【问题描述】:
我有一个 UITextView,其中一个单元格包含一个 UILabel 和一个 UITextView。我正在尝试设置 textview 的宽度和高度。我在 heightForRowAtIndexPath 中执行此操作,但我的 UITextView 设置为在故事生成器中自动调整宽度。当 heightForRowAtIndexPath 被调用并且我发现我的 UITextView 它的宽度是在界面生成器中设置的值,而不是“重新调整大小”的宽度。
那么,我如何在自动调整大小后获得新的大小?我的 UITextVies 在 IB 中设置为 280,但是当我在 iPad 上显示它时,单元格宽度大于 280,但在 heightForRowAtIndexPath 中我仍然得到 280。
谁能告诉我在自动调整大小后如何获得正确的宽度。
更新:
为了澄清,我试图在单元格中设置 UITextView 的高度。我正在调用boundingRectWithSize,并传递了CGFloatMax 的高度,但我需要将宽度设置为UITextView 上的“新自动调整大小”宽度。我正在尝试弄清楚如何获得它。
更新:
这是我的自动调整大小的屏幕截图。我将 UILabel 和 UITextView 设置为相同的方式,宽度设置为增长。
感谢您的帮助
【问题讨论】:
-
您确定您的单元格宽度设置为方法 heightForRowAtIndexPath 中设置的值吗?因为这个函数在创建单元格之前返回高度。
-
在 heightForRowAtIndexPath 如果我得到 UITextView 并检查它的高度和宽度,它们是 IB 中设置的值。
-
我再次说这个函数在创建单元格之前返回高度。
-
正确,我发布了更新以澄清一点。我正在根据文本计算一个新的高度。这对 iPhone 非常有用,因为宽度固定为 280,并且非常完美,因为我将高度传递给 boundingRectWithSize CGFLOATMAX,宽度传递给 280。但是,在 iPhone 中,UITextView 会自动调整为更大的宽度。我需要那个宽度。
-
发布自动调整 struts 和字符串大小的屏幕截图或使用 AutoLayout 时的约束。
标签: ios xcode uitableview interface-builder uitextview