iOS Reminders App如何允许自动换行到TableView中的下一行?

时间:2012-08-29 13:49:23

标签: ios uitextfield

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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;