如何让 DidSelectRow 激活键盘?
How to have DidSelectRow activate keyboard?
目标
我想要一个键盘(自定义),当我在我的表格视图中单击一个单元格并说键盘编辑所选单元格中的标签时显示。
我阅读和尝试过的内容
堆栈溢出和其他搜索threads/tutorials
连同其他结果和搜索(也是这些线程中的推荐读物),这些对我以我想要的方式获取键盘非常有用(这是特定于应用程序的,我不想让用户安装键盘以使用该应用程序),但是,none 解释我如何 "activate" 没有文本字段的键盘。
我的思考过程是这样的:我将有一个带有文本字段的键盘,以便从按下的键接收输入。然后,此输入将被发送到所选单元格中的标签。问题出在键盘上没有显示任何东西...
为什么我不想要单元格中的文本字段:因为我认为让 tableview 单元格激活键盘更 smart/elegant。我在其他应用程序中看到过这个,但我无法弄清楚它是如何完成的。
非常感谢对此事的任何帮助。我完全不熟悉编程,正在使用 Swift(所以不知道 Obj-C 或类似的东西)。
谢谢!
TVDN,
在单元格中有一个 textField 而不是标签 :) 创建一个自定义单元格,为 class ffrom textField in cellForRowAtIndexPath
创建一个 IBOutlet
let tableCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! myCell
tableCell.yourTextField.resignFirstResponder()
并在 didSelectRowAtIndexPath
let tableCell = self.tableView.cellForRowAtIndexPath(indexPath)
self.tableView.dequeueReusableCellWithIdentifier("cell") as! myCell
tableCell.yourTextField.becomeFirstResponder()
好吧,在其他网站上进行了大量讨论之后,很遗憾地说出来,但我想要的实际上是不可能的(就像 Duncan 所说的)。出于某种原因,我认为在编程中这个词不存在,但它确实存在。好吧,我解决这个限制的方法是在评论中以及我已经阅读的资源材料中回复的:
我有2个观点:
- tableView - 这将包含我想要编辑值的项目列表。有多个标签,用户可以编辑其中一个标签。
- keyboardView - 允许用户输入的自定义键盘。
对于键盘,我使用了 "A Swift example of Custom Views for Data Input" 中描述的委托方法。这非常有效,可以将数据发送到 keyWasTapped
函数下的 tableView
。
接下来是 tableView
。我在自定义单元格中有 3 个标签,其中一个称为 valueLabel。我必须在故事板中添加一个文本字段,该故事板隐藏在用户将与之交互的表视图后面,并且在 didselectrow
中我包含了调用键盘的命令:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
textField.becomeFirstResponder()
}
从那里我会从文本字段中获取文本并更新我的自定义单元格中的 UILabel。至少这样我可以 select 一个单元格而不是文本字段。所以考虑到适合我想要的答案是回复的组合,我认为最好在这里说出来。
感谢 Sandeep 和 Larme 的宝贵时间。
目标
我想要一个键盘(自定义),当我在我的表格视图中单击一个单元格并说键盘编辑所选单元格中的标签时显示。
我阅读和尝试过的内容
堆栈溢出和其他搜索threads/tutorials
连同其他结果和搜索(也是这些线程中的推荐读物),这些对我以我想要的方式获取键盘非常有用(这是特定于应用程序的,我不想让用户安装键盘以使用该应用程序),但是,none 解释我如何 "activate" 没有文本字段的键盘。
我的思考过程是这样的:我将有一个带有文本字段的键盘,以便从按下的键接收输入。然后,此输入将被发送到所选单元格中的标签。问题出在键盘上没有显示任何东西...
为什么我不想要单元格中的文本字段:因为我认为让 tableview 单元格激活键盘更 smart/elegant。我在其他应用程序中看到过这个,但我无法弄清楚它是如何完成的。
非常感谢对此事的任何帮助。我完全不熟悉编程,正在使用 Swift(所以不知道 Obj-C 或类似的东西)。
谢谢!
TVDN,
在单元格中有一个 textField 而不是标签 :) 创建一个自定义单元格,为 class ffrom textField in cellForRowAtIndexPath
let tableCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! myCell
tableCell.yourTextField.resignFirstResponder()
并在 didSelectRowAtIndexPath
let tableCell = self.tableView.cellForRowAtIndexPath(indexPath)
self.tableView.dequeueReusableCellWithIdentifier("cell") as! myCell
tableCell.yourTextField.becomeFirstResponder()
好吧,在其他网站上进行了大量讨论之后,很遗憾地说出来,但我想要的实际上是不可能的(就像 Duncan 所说的)。出于某种原因,我认为在编程中这个词不存在,但它确实存在。好吧,我解决这个限制的方法是在评论中以及我已经阅读的资源材料中回复的:
我有2个观点:
- tableView - 这将包含我想要编辑值的项目列表。有多个标签,用户可以编辑其中一个标签。
- keyboardView - 允许用户输入的自定义键盘。
对于键盘,我使用了 "A Swift example of Custom Views for Data Input" 中描述的委托方法。这非常有效,可以将数据发送到 keyWasTapped
函数下的 tableView
。
接下来是 tableView
。我在自定义单元格中有 3 个标签,其中一个称为 valueLabel。我必须在故事板中添加一个文本字段,该故事板隐藏在用户将与之交互的表视图后面,并且在 didselectrow
中我包含了调用键盘的命令:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
textField.becomeFirstResponder()
}
从那里我会从文本字段中获取文本并更新我的自定义单元格中的 UILabel。至少这样我可以 select 一个单元格而不是文本字段。所以考虑到适合我想要的答案是回复的组合,我认为最好在这里说出来。
感谢 Sandeep 和 Larme 的宝贵时间。