[英]Segue from UITableViewCell to ViewController not working
我在UITableViewCell
和UIViewController
之間設置了segue。 我的理解是,如果我將顯示單元從原型單元格設置為UIViewController
,則在點擊UITableView
中的單元格之一時將顯示UIViewController
,但這對我而言並非如此。 使它工作的唯一方法是重寫tableView didSelectRowAtIndexPath
,然后調用performSegueWithIdentifier
。
為了測試這一點,我將一個快速項目與一個UITableViewController
和一個UIViewController
整合在一起。 當我在原型單元和UIViewController
之間創建UIViewController
,它按照應有的方式工作。 所以我知道有可能,我只是不確定是什么導致我的實際項目出現問題。
沒有太多代碼可顯示。 我的原型單元是一個來自xib文件的自定義單元,但是我也嘗試給它提供一個UITableViewCell
類,這沒有什么區別。
有沒有人遇到過這樣的問題應該起作用的情況,但是沒有嗎? 如果是這樣,您如何解決?
讓我們澄清一些重要的事情
performSegueWithIdentifier: sender:
是UIViewController的一種方法,因此要從單元格執行segue,您需要在單元格中聲明VC的弱屬性,像這樣 @property(非原子的,弱的)UIViewController * segueController;
通過執行您的動作
[self.segueController performSegueWithIdentifier:@"segue_id" sender:self];
didSelectRowAtIndexPath
有以下好處:您的segue邏輯屬於controller而不是視圖 (因為uitableviewcell是uiview的子級)。 因此,我建議您使用此方法進行搜索或使用視圖層次結構進行操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.