我有一個TableView,它描述了一個代表章節的代表章節的代表書本的書。解除/委託故事板中模態堆棧中的第二個視圖
這個TableView的頂部我有一個導航欄中的按鈕,允許「導航」。
此導航按鈕的目標是允許用戶容易地跳躍到給定章/節,而無需手動滾動(其可以是非常長)。
當按鈕被按下的tableview控制器被稱爲顯示書中的所有可用的章節和當選擇一個章節另一個表的觀點被稱爲當前章節顯示可用的詩句的列表。最後,當選擇該行時,顯示書籍的tablew視圖應該滾動到給定的索引/行。
這樣的想法:從代表書中的tableview我叫章查看,模式和詩句作爲一推了章節查看。
我的問題是,我沒有得到管理的代表和來自第二模態視圖解僱點。
有了1個模態視圖,我做了這樣的事情。
在顯示的VC(視圖控制器)予添加的協議和委託
@protocol ChapitresTableViewControllerDelegate <NSObject>
- (void)didDismissPresentedViewController;
@end
@interface ChapitresTableViewController : UITableViewController
@property (nonatomic, weak) id <ChapitresTableViewControllerDelegate> delegate;
@end
我在didSelectRow
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.delegate didDismissPresentedViewController];
}
在顯示VC我添加以下行
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
ChapitresTableViewController *chapitresTableViewController = segue.destinationViewController;
chapitresTableViewController.delegate = self;
}
當然
-(void)didDismissPresentedViewController
{
[self dismissViewControllerAnimated:YES completion:nil];
}
這將只是正常工作,如果我想的第一模VC後關閉,但我要的是有後,我在第二次點擊第二個被解僱。好的,我可以在第二個模態VC中編寫協議和內容,但是我如何設法讓代理髮送給第二個VC。
希望我的問題很清楚,要解釋它並不那麼容易。
有人瞭解我,可以幫助我嗎?
注意:我現在知道我不會將任何參數傳遞給代理,我將在稍後執行滾動操作。現在我只是希望能夠關閉第二視圖,然後我會添加所需的東西傳遞參數回委託
它工作正常,我的視圖控制器關閉並彈出到我想要的。但是現在我想將信息「發回」給視圖控制器,在我的情況下,發回部分和行以便我可以滾動。我將如何做到這一點。我只看到了「全球變數」,但通常這樣做並不好。只要我彈出的視圖控制器被保留,我可以從堆棧中的另一個控制器修改該視圖控制器的屬性嗎? – HpTerm
你絕對可以。 – Rob
你的回答並不回答如何解除模態堆棧中的第二個視圖的問題。但只要你的答案對我很好,完全滿足了我的需求,我認爲它也適用於其他人。我剛剛完成廣泛測試我的應用程序與您的解決方案,它工作正常。感謝您的快速支持。 – HpTerm