我知道之前已经问过这个问题,但我找不到适用于我的问题的答案。 我有一个UITableViewController,它有第三行,里面装满了UITextView。
我对它的外观和输入文字的方式非常满意。 但是,一旦用户输入文本,我就无法找到摆脱键盘的方法。我希望能够在文本中使用实际\ n的返回按钮。
我已经到了这么远,按下上面的两行将使textView te resignFirstTransponder,但有没有办法在灰色背景上点击?
这是在从nib文件加载的UITableViewController中。 顺便说一下,我对iOS编程很陌生,所以答案越精细越好:)
谢谢!
答案 0 :(得分:1)
许多应用程序遵循的模式是在键盘上方显示一个带有按钮的水平条。它可以包含一个done
按钮,可以隐藏键盘。当然,你必须自己创建水平视图。
另一种方法是在其他地方启用触摸识别器,在外面的水龙头上隐藏键盘
答案 1 :(得分:0)
另一种方法是在键盘上添加一个工具栏,其中包含一个可以解除它的“完成”按钮。您可以找到一些关于here的示例代码。一种方法是在用户选择不同的单元格时或者甚至在tableView滚动时关闭键盘。为此,您可以分别在-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
或-(void)scrollViewDidScroll:(UIScrollView *)scrollView
中添加相关代码。
答案 2 :(得分:0)
如果你的新手在iOS上,这会有点棘手。我在UITableViewCell中处理UITextView的方式是我创建一个自定义的UITableViewCell子类,其中包含UITextView的插座。 然后将接口构建器中的单元格设置为该子类。在CellForRowAtIndexPath中: 将代表设置为自己。然后在DidSelectRowAtIndexPath中基于indexPath调用TextView的委托,这样,如果触摸背景,keyBoard将关闭正确的行。如果您希望在用户触摸任何单元格时将其解除,只需调用委托而不指定indexPath。委托是TextViewShouldEndEditing:。如果你愿意,我会发布一些代码。