我正在做一個應用程序,其中有一個UITableViewController填充產品列表。每一行都跳轉到一個UIViewController,它顯示了該行中產品的詳細信息。現在,由於在每一行上點擊並返回以查看下一個產品的細節對用戶來說可能太乏味,所以我們決定添加此功能:當用戶在產品的UIViewController上滑動時,然後使用UIViewController下一個產品被推送。授權和解僱視圖控制器
但是,截至目前,我不確定實現這一點的最佳方式。我試圖將產品數組傳遞給UIViewController,以便實現刷卡,但這會違反MVC框架,對吧?視圖不能擁有他們正在呈現的數據。產品詳細信息UIViewController應該只知道傳遞給它的特定產品,而不是剩下的,對吧?
我認爲這可以使用委託來完成,但我不知道如何。有誰能夠幫助我?謝謝!
編輯: Rob Mayoff的代碼真的很有用,所以我決定實現它。但是與此同時,我不會實施滑動操作,而只是使用簡單的圓形按鈕來調用函數。
- (IBAction)showNextProduct:(id)sender {
[self.productsTVC goToProductAtIndex:self.productIndex + 1];
}
- (IBAction)showPriorProduct:(id)sender {
[self.productsTVC goToProductAtIndex:self.productIndex - 1];
}
但每次我點擊任何按鈕,我與消息應用程序崩潰:Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted. Unbalanced calls to begin/end appearance transitions for <ProductDetailsViewController: 0x6e510c0>.
thanks @rob。我會嘗試這個解決方案,我會讓你知道。謝謝! – acecapades 2012-02-23 03:56:44
rob,我收到了一條錯誤消息:「在意外狀態下完成導航轉換。導航欄子視圖樹可能會損壞。「和」不平衡調用開始/結束外觀轉換爲
acecapades
2012-02-23 06:16:07
確保您所有的'viewWillAppear:','viewDidAppear:','viewWillDisappear:'和'viewDidDisappear:'方法調用他們的'super'方法 – 2012-02-23 06:20:00