swift - 使用 datePicker 更改 cell.textField.text

标签 swift uitableview uitextfield cell uidatepicker

在我的 tableViewCell 中,我有一个调用 UIDatePicker 的 UITextField(下面的代码)。

我的问题是:我不明白如何在 cell.myTextField 中传递日期(来自 datePicker)(因为它只出现在 cellForRowAtIndexPath 方法中)。任何人都可以帮助我吗?

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

          //......... 

          cell.myTextField.addTarget(self, action: "showDatePicker:", forControlEvents: UIControlEvents.EditingDidBegin)

         //......... 
    }

    func showDatePicker(sender: UITextField) {

            var datePickerView:UIDatePicker = UIDatePicker()
            datePickerView.datePickerMode = UIDatePickerMode.Date
            sender.inputView = datePickerView

            datePickerView.addTarget(self, action: Selector("datePickerValueChanged:"), forControlEvents: UIControlEvents.ValueChanged)

    }

    func datePickerValueChanged(sender:UIDatePicker) {

            var dateFormatter = NSDateFormatter()
            dateFormatter.dateStyle = NSDateFormatterStyle.NoStyle
            dateFormatter.timeStyle = NSDateFormatterStyle.FullStyle

            //dateTextField.text = dateFormatter.stringFromDate(sender.date)
            //How to load my cell.myTextField.text with the sender.date ?

    }

最佳答案

有几种方法可以做你想做的,你可以结合cellForRowAtIndexPath (它与您作为 UITableViewDataSource 的一部分声明的不同)。

要使用上述方法,您需要知道 indexPath 或至少行的索引,为此您可以使用 indexPathForSelectedRow准确获取所选行,然后按以下方式设置您想要的值:

func datePickerValueChanged(sender:UIDatePicker) {

    var dateFormatter = NSDateFormatter()
    dateFormatter.dateStyle = NSDateFormatterStyle.NoStyle
    dateFormatter.timeStyle = NSDateFormatterStyle.FullStyle

    var indexPath = self.tableView.indexPathForSelectedRow()
    var cell = self.tableView.cellForRowAtIndexPath(indexPath)
    cell.dateTextField.text = dateFormatter.stringFromDate(sender.date)
}

希望对你有帮助

关于swift - 使用 datePicker 更改 cell.textField.text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619879/

相关文章:

ios - Swift中的游戏中心挑战

swift - 以未经身份验证的用户身份下载 JSON 文件 AWS/S3/Cognito

ios - 如何从 NSLayoutConstraints 获取 CGFloat 值?

ios - 使用 NSURLConnection 异步下载 UITableView 的图像

ios - 当观察者在 UITableViewHeaderFooter 子类中时 NSNotification 被多次调用

ios - 具有多个零时显示警报消息

ios - 在 Swift 中从 Uibezierpath 数组创建一个 UIImage

iphone - 将 iPhone 上分组 UITableView 中的选择数量限制为每组一个单元格/行

ios - 在 UITextView 上设置最大行数条目

objective-c - 验证文本字段长度