私はviewBasedアプリケーションを使用して本のようなアプリケーションを実行しています。mainViewは、ページをロードするためのbackgroundViewとして機能します。各ページは異なるビューであり、独自のペン先があります。ページ(実際には現在のビュー/ページをロードしたmainView)をスワイプすると、そのページが削除され、次/前のページが追加されます。
[currentPage.view removeFromSuperview];
[self.view insertSubview:nextPage.view atIndex:0];
このmainViewにバーボタン付きのpopoverControllerを追加しました。popClassという名前のtableviewControllerクラスで初期化されました。PopClassは、popViewControllerの親として機能する別のUITableViewControllerクラスです。
self.myPopController = [[PopController alloc] initWithStyle:UITableViewStylePlain];
self.myPopOverController = [[UIPopoverController alloc] initWithContentViewController:myPopController];
ポップオーバーで特定の行を選択するときに、backgroundview(mainView)がその行の番号に対応するページをロードするようにします。
そのために、bookView(mainView)Controllerクラスで関数を作成しました。そして、特定の行を選択すると、popOverの親クラスからそれを呼び出しています。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger toPageNumber = indexPath.row + 1;
[viewController changeToPage:toPageNumber];
}
関数とコード行は実行されていますが、何も起きていません。ログ行も印刷されますが、アクションは実行されません。コードは、ページを削除したり、ビュー/ページをスワイプしたときに正常に機能する別のページを追加したりする場合と同じです。
何が問題ですか?または、ポップオーバーを使用してmainViewでビューを変更する他の方法はありますか?