允许用户只在Swift中输入下一个可用的文本字段

时间:2017-01-08 22:12:11

标签: ios swift uitableview uitextfield

这里是Swift和xcode的新手。我正在尝试使用swift中的tableview和tableview单元格制作一个简单的待办事项计划程序。

我想知道是否有任何方法可以让用户点击任何文本字段时,要响应的文本字段应该只是下一个可用的文本字段。

enter image description here

例如,在这张照片中,如果用户点击第10个文本字段,则应该打开的文本字段应该只是第4个,即“作业”单元格之后的文本字段。

这件事情很简单吗?或者我在这里过头了?

赞赏任何其他提示!

2 个答案:

答案 0 :(得分:1)

您可以尝试使用UITableView的{​​{1}}。您将能够知道选定的行didSelectRowAtIndexPath。我假设您有一个数据作为数组,用于加载indexPath的数据。在tableView方法中,您只需检查所选行的didSelectRowAtIndexPath和数据计数即可。如果匹配则不执行任何操作,如果不匹配,则可以使用indexPath选择正确的单元格 - 根据您的示例,第4个 - 。我希望它会有所帮助。

答案 1 :(得分:0)

如果仅处理textFields

,您可以使用textFieldShouldReturn中的UITextFieldDelegate
func textFieldShouldReturn(textField: UITextField) -> Bool {
    if textField != lastTextField{
        self.lastTextField.becomeFirstResponder()
    }
    return true
}

或包含自定义单元格的表格:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if indexPath.row != lastItemRow + 1{
        let cellToFocus = tableView.cellForRowAtIndexPath(indexPath)
        cellToFocus.textField.becomeFirstResponder()
    }
}