現在以下のようにしてナビゲーションバーにあるボタンが押されるとポップアップを表示させるようにしています。
Objective
1ViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; 2UINavigationController *navVC = [[UINavigationController alloc] initWithRootViewController:VC]; 3navVC.modalPresentationStyle = UIModalPresentationPopover; 4navVC.popoverPresentationController.sourceView = self.view; 5 6[self presentViewController:navVC animated:YES completion:nil];
1回目ボタンを押すと問題なくポップアップが表示されるのですが、2回目ボタンを押すと「should have a non-nil sourceView or barButtonItem set before the presentation occurs」というエラーでアプリが落ちてしまいます。
sourceViewも設定しているつもりですが、設定の仕方が間違っているのでしょうか?
どなたかわかる方がいれば教えていただきたいです。宜しくお願いします。
何をしたいのか分かりかねていますが、とりあえずツッコミをいれてみます。
2行目、VC.delegate = self; とありますが、これは何でしょうか?
3行目、cVC とは何でしょうか?
ちゃんと動く状態のソースをコピペして下さいな。
あと、表示したポップアップ(?)はどうやって閉じているのでしょうか?
すみません、そのままソースコードをコピペして見直しもそれほどしてませんでした。コードを修正しました。
ポップアップが表示されるとポップアップのナビゲーションバーの左上にキャンセルボタンがあるので、それを押してポップアップを閉じています。そのキャンセルボタンを押した時は以下のコードを実行しています。[self dismissViewControllerAnimated:YES completion:nil];
回答1件
あなたの回答
tips
プレビュー