用选定的 TableViewCell 填充文本字段?
Fill a textField with a selected TableViewCell?
在我的初始视图中,有一个空白的 textField
(上面有一个不可见的按钮),当您单击它时会转到 TableView
。我想将我的 TableViewCell
选择中的文本数据发送到原始视图中的空白 textField
。
我制作了一个 View2.swift
文件,它是我原来 View
的副本。我试图编辑那里的源代码,通过从 TableView
的 indexPath
发送 .text
来推送 textData
。
This video 展示了如何将数据从第一个视图发送到第二个视图,但我正在尝试将数据从我的第二个视图 (TableView
) 发送回我的第一个视图 (View
).
这是我的代码:
ViewController.swift
import UIKit
class ViewController: UITableViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var DestViewController : View2 = segue.destinationViewController as! View2
DestViewController.formulaSelectionText = ViewController.
}
}
View2.swift
:
import Foundation
import UIKit
class View2: UIViewController {
override func viewDidLoad(){
formulaSelection.text = indexPathForCell(Cell: UITableView)
}
}
我认为最好只更新初始视图中的值。我正在考虑 UITextFieldDelegate
?
很容易将UITableViewCell
选择的值传回控制器。只需选择一个单元格,更新先前控制器中文本字段的值并弹出 controller/dismiss 如果您使用的是导航控制器/模态控制器。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//get last controller in hierarchy
let viewControllers: [UIViewController] = self.navigationController!.viewControllers as [UIViewController];
var prevController : PrevViewController = viewControllers[viewControllers.count - 1] as PrevViewController;
prevController.textfield.text = dataSource[indexPath.row]; //update textfield here
self.navigationController!.popViewControllerAnimated(true);
}
希望对您有所帮助!
在我的初始视图中,有一个空白的 textField
(上面有一个不可见的按钮),当您单击它时会转到 TableView
。我想将我的 TableViewCell
选择中的文本数据发送到原始视图中的空白 textField
。
我制作了一个 View2.swift
文件,它是我原来 View
的副本。我试图编辑那里的源代码,通过从 TableView
的 indexPath
发送 .text
来推送 textData
。
This video 展示了如何将数据从第一个视图发送到第二个视图,但我正在尝试将数据从我的第二个视图 (TableView
) 发送回我的第一个视图 (View
).
这是我的代码:
ViewController.swift
import UIKit
class ViewController: UITableViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var DestViewController : View2 = segue.destinationViewController as! View2
DestViewController.formulaSelectionText = ViewController.
}
}
View2.swift
:
import Foundation
import UIKit
class View2: UIViewController {
override func viewDidLoad(){
formulaSelection.text = indexPathForCell(Cell: UITableView)
}
}
我认为最好只更新初始视图中的值。我正在考虑 UITextFieldDelegate
?
很容易将UITableViewCell
选择的值传回控制器。只需选择一个单元格,更新先前控制器中文本字段的值并弹出 controller/dismiss 如果您使用的是导航控制器/模态控制器。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//get last controller in hierarchy
let viewControllers: [UIViewController] = self.navigationController!.viewControllers as [UIViewController];
var prevController : PrevViewController = viewControllers[viewControllers.count - 1] as PrevViewController;
prevController.textfield.text = dataSource[indexPath.row]; //update textfield here
self.navigationController!.popViewControllerAnimated(true);
}
希望对您有所帮助!