プロジェクトで Kal カレンダーを使用しようとしています。これまでのところ、私が理解していることは次のとおりです。
- Kal を呼び出すビュー コントローラーは、UITableViewDelegate メソッド「didSelectRowAtPath」を実装する必要があります。
問題:
- Kal を呼び出すビュー コントローラーには、既に既存のテーブルビューがあります (セルの 1 つが Kal を呼び出します)。
これを解決するために、次のようにメイン テーブルビューのセルから中間ビュー コントローラーをプッシュしようとしました。
ScheduleViewController *svc = [[ScheduleViewController alloc] init];
[svc setTitle:@"Schedule"];
[self.navigationController pushViewController:svc animated:YES];
ScheduleViewController の viewDidLoad から、実際の Kal カレンダーをプッシュしています。
KalViewController *kal = [[KalViewController alloc] init];
[kal setDelegate:self];
[kal setTitle:@"Schedule"];
[self.navigationController pushViewController:kal animated:NO];
これを行うと、カレンダーが表示されます。ただし、戻るボタンを使用してメイン メニューにきれいに戻れないようです。ScheduleViewController に戻るボタンを作成しました。
[kal.navigationItem
setBackBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(test)]];
これをいくつかの異なる場所 (viewDidLoad、viewWillAppear) に配置しましたが、機能しません。「戻る」をクリックすると、ずっと戻るのではなく、ScheduleViewController に移動します。「test」は呼び出されません。popToRootViewController、[[self.presentingViewControllerpresentingViewController]dismissViewController]、および他のいくつかを試しました。働きたくないだけ。
- これは Kal を使用するための最良の方法ですか?
- このメソッドを使用して popToRootViewController (ScheduleViewController をスキップ) するにはどうすればよいですか?
ありがとう!これは私の最初の投稿です。質問の混乱を減らすためにできることがあれば教えてください。