我有一個包含tableview的視圖控制器,這個tableview包含在storyboard中完成的動態單元格。大多數單元格包含一個文本框,並且在視圖控制器中,我需要檢測文本框何時被選中以及它是哪個單元格。 (我加載指向單元格的彈出窗口,並且這必須從視圖控制器中調用)。如何知道tableview中的哪個單元格已被選中
單元代碼
import UIKit
class AddNew_Date_Cell: UITableViewCell {
@IBOutlet var Label: UILabel!
@IBOutlet var textField: UITextField!
func loadItem(var data:NSArray) {
Label.text = data[0] as? String
}
}
ViewControllerCode
import UIKit
class AddNewDetailView: UIViewController, UITableViewDelegate, UITableViewDataSource, UIPopoverPresentationControllerDelegate, UITextFieldDelegate {
@IBOutlet var tableView: UITableView!
var items : NSMutableArray!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
switch(items[indexPath.row][1] as! Int)
{
...
case 2:
var cell:AddNew_Date_Cell = tableView.dequeueReusableCellWithIdentifier("AN_Date_Cell") as! AddNew_Date_Cell
cell.loadItem(items[indexPath.row] as! NSArray, view: self)
cell.textField.delegate = self
return cell
...
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
//Need to know here which cell the textfield is attached to
turn true
}
}
每次我選擇我打一個斷點「textFieldShouldBeginEditing」一個文本框觀點,但是我不知道哪個單元的英寸
如果我選擇單元格中的textfield「didSelectRowAtIndexPath」永遠不會被命中。
我如何知道哪個單元格已被選中。
感謝
你最近怎麼樣使用這些信息? (選擇哪個單元格)?不同的方法,無論你需要獲取單元格的NSIndexPath還是indexPath.row來操作你的項目數組 – Dustin
我將把數據拉出單元格(當前文本值)並加載指向它的彈出窗口 –
「彈出窗口指向」你的意思是加載一個「視覺上」指向單元格的popover? – Dustin