我正在顯示帶有UITableView控件的UIView。我通過調用performSegueWithIdentifier來顯示帶有Show segue的視圖。在調用segue的模塊中,我添加了一個我希望在展開時使用的函數,以便在從segue返回時從視圖中檢索一些數據。現在,我有一個連接到調用者函數的完成按鈕,這樣我可以在展開時從segue中檢索數據。而不是在完成按鈕完成後,我想在UITableView中選擇一個項目時執行此操作。以編程方式展開segue
在tableView(,willSelectRowAtIndexPath)中,我嘗試調用popViewControllerAnimated。第二個UIView關閉並將我帶回調用的UIView,但展開函數未被調用。
我知道如何使用Exit設置完成按鈕的展開,但我無法弄清楚如何在UITableView中的某一行上點擊。
下面是我用來執行SEGUE代碼:
@IBAction func fromButtonTap(sender: AnyObject) {
currentButton = sender.tag
self.performSegueWithIdentifier("UnitsSegue", sender: self)
}
下面是執行時SEGUE解纏代碼:
@IBAction func returnFromUnitSelection(segue: UIStoryboardSegue) {
var buttonToSet: UIButton!
var unitsToSet: UnitData!
fromLabel.text = "0"
toLabel.text = "0"
if let unitsSelectionViewController = segue.sourceViewController as? UnitSelectionController {
if currentButton == 0 {
fromUnitData = unitsSelectionViewController.selectedUnit
buttonToSet = fromButton
}
else {
toUnitData = unitsSelectionViewController.selectedUnit
buttonToSet = toButton
}
setButtonText(buttonToSet, firstLine: unitsSelectionViewController.selectedUnit.unitCode, secondLine: unitsSelectionViewController.selectedUnit.unitName, firstLineFontSize: 15, secondLineFontSize: 11)
}
}
下面是我用它來關閉代碼第二個UIView:
func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? {
selectedUnit = temperatures[indexPath.row]
self.navigationController?.popViewControllerAnimated(true)
return indexPath
}
展開代碼在我點擊完成時執行。但是當我在我的表格中選擇一個項目時沒有任何反應。
有什麼建議嗎?
謝謝
已添加代碼。 – Scott