0

我在我的 iPhone 上使用 iOS 提醒应用程序,我注意到在 tableview 中它允许您输入可以换行的文本并继续输入文本以进行提醒。我注意到单元格的高度会发生变化以适应提供的提醒文本的大小。我的问题是我知道这可以用 UILabel 来完成,但是你不能在 UILabel 中编辑和输入文本可以吗?所以它必须是 UITextField,但我认为 UITextField 不允许单词换行?我以为它只是继续缩小自己在一条线上?那么我在这里错过了什么?

4

2 回答 2

1

它很可能使用UITextView允许多行文本的 a 。然后,您可以UITableViewCell通过查看 的委托方法来更改文本换行到下一行时的高度UITextView

于 2012-08-29T13:52:17.503 回答
0

您是否尝试过 UITextView,它会为您自动换行,但要自动调整表格单元格的高度,可能必须使用 textViewDelegate didReplaceString 方法。

// goes inside the UITextView didReplaceString method
// assumes expectedTextSize is a CGSize struct (like this CGSize expectedTextSize)
expectedTextSize = [myTextView.text sizeWithFont:[UIFont fontWithName:"Arial" size:12] constrainedToSize:CGSizeMake(200, 999999) lineBreakMode:UILineBreakModeWordWrap];

// then in your tableView:heightForRow: table view delegate method
return expectedTextSize.height;
于 2012-08-29T14:07:06.150 回答