我有一個自定義的TableViewController與自定義的TableViewCell。我在Cell的故事板上創建了一個Segue到另一個ViewController來顯示細節,但prepareForSegue從未被調用過。我試過使用didSelectRowAtIndexPath,但它也沒有調用。我懷疑這可能是因爲我動態地創建了自定義單元格,並且他們沒有從分配給他們的故事板中獲得segue,但是我找不到這樣做的方法。我的BarButtonItem中的「newSegue」通常被調用。prepareForSegue沒有從自定義的uitableviewcell調用
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
println("PREPARE FOR SEGUE")
if segue.identifier == "newSegue" {
println("PREPARE FOR NEW SEGUE")
} else if segue.identifier == "detailSegue" {
println("PREPARE FOR DETAIL SEGUE")
}
}
override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell!")
}
我懷疑我可能做錯了什麼定義我的自定義單元格時:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellIndentifier: NSString = "ListPrototypeCell"
var cell : MyTableViewCell = tableView.dequeueReusableCellWithIdentifier(CellIndentifier) as MyTableViewCell
var myClass: MyClass = self.myList.objectAtIndex(indexPath.row) as MyClass
cell.setCell(author: myClass.author, message: myClass.message)
return cell
}
任何幫助嗎?
你設置好該代碼所在的表視圖的委託控制器(它應自動設置,如果你的類的UITableViewController的子類)?你有沒有在單元格中看到可能攔截觸摸的意見? – rdelmar 2014-10-07 16:06:35
是的,我把它作爲一個代表。單元格有它的自定義視圖,但我不能從視圖或標籤創建一個segue。 – filipebarretto 2014-10-07 16:52:34
您必須從單元本身進行連接,而不是內容視圖或標籤。如果您無法從畫布中抓取單元格,請轉到左側的場景列表,然後從該單元格中拖出。 – rdelmar 2014-10-07 18:33:59