我有UITableView,其中每个单元格由两个UILabel组成,我想在选择单元格时显示键盘? UILabels有可能吗?
答案 0 :(得分:2)
如果您只想弹出一个键盘,您可以在任何可见视图中的任何位置添加一个微小的不可见(带透明文本的透明1x1)UITextField,并使该文本字段成为第一个响应者以弹出键盘。然后,您可以使用文本字段委托将输入文本重定向到两个标签中的任何一个(或其他位置)以捕获输入。
答案 1 :(得分:1)
是的,标签必须符合UIKeyInput protocol。请注意,这是一个或两个命题。如果标签符合UIKeyInput,那么当它成为第一响应者时,无论你是否想要它,都会显示键盘。
答案 2 :(得分:0)
我不确定你的意思,因为显然不可能同时为标签编辑两个文本字段。因此,以下假设您希望使用UILabel在单元格中显示文本,但希望能够编辑单元格的文本。
您无法直接使用键盘编辑UILabel。最简单的解决方案是直接使用UITextFields而不是UILabels。
另一种方法是在单元格中同时使用UITextField
和UILabel
。然后在选择单元格时显示文本字段(通过设置its hidden property to
YES`)并隐藏标签。编辑完成后,反过来(即显示标签,隐藏文本字段)。
要在选择单元格后直接显示键盘,您可以调用[someTextField becomeFirstResponder];
。要检查用户是否已完成编辑(例如点按了返回键),您可以设置delegate
的{{1}}。