2

引っ掛かりに遭遇し、ここでいくつかの洞察を期待しています。

概要: ユニバーサルアプリ。iPhoneの部分はうまく機能します。iPad部分にはスプリットビューコントローラーがあります。マスターは、ユーザーが行を選択してその詳細を表示するテーブルビュー(左側)です(右側)。かなり標準的なもの。

Xcodeバージョン4.4.1を使用しており、プロジェクトではCore Data、ストーリーボード、およびARCを使用しています。

DetailViewController: 詳細には、カスタムビューを使用して、日付ごとにユーザーノートの別のテーブルビュー(詳細内)を表示するボタンがあります。各メモには、画像を関連付けることができます。メモに画像がある場合は、写真アイコンの付いたボタンが表示されます。

この時点までのスクリーンショットの例:

スクリーンショットの例1

MWPhotoBrowser: 写真アイコンのボタンを押すと、MWPhotoBrowser(標準的な方法で画像を表示するための素晴らしいライブラリ)を呼び出して、1つまたは複数の画像を表示します。シングルタップは選択された1つの画像を表示し、ダブルタップは現在のテーブル上のすべての画像を表示し、選択された画像が最初に表示されます。画像は全画面表示されます。

フォトブラウザを表示するには、次のコードを使用します。

// Create the browser view.
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];

// Set browser options.
browser.wantsFullScreenLayout = YES;
browser.displayActionButton = YES;
[browser setInitialPageIndex:self.buttonRow];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:browser];

[self presentModalViewController:navController animated:YES];

navControllerを使用すると、doneButtonPressedを呼び出す「Done」ボタンを備えたナビゲーションコントローラーを含めることができます。

問題: 「完了」ボタンを押すまで、上記のすべてがうまく機能します。フルスクリーンの写真ブラウザは適切に閉じます。残念ながら、ユーザーが写真アイコンボタンを押した右側のテーブルビューは表示されなくなりました(黒)。フォトブラウザがモーダルに閉じられた後も、NotesViewController(右側)はそこに残ると思いました。分割ビューでモデルViewControllerを呼び出すと、他のView Controllerが削除されますか?

問題を示すスクリーンショットの例:

ここに画像の説明を入力してください

詳細ビューコントローラ(右側)のスタックは、 DetailViewController> NotesViewController>である必要があり、MWPhotoBrowserをモーダルに呼び出します。写真ブラウザが閉じられた後、私のself.navigationController.viewControllers.countは1に等しく、2になると期待していました。

MWPhotoBrowserを閉じるコードは次のとおりです。

- (void)doneButtonPressed:(id)sender {

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

    [self dismissViewControllerAnimated:YES completion:nil];
}
.
.
.

誰かが私の頭をこれに巻き付けるのを手伝ってくれることを願っています。

いつものように、どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

0

NoteViewController内で問題を解決しました(MWPhotoBrowserが閉じられた後に領域が黒くなります)。

viewWillAppear内で、テーブルビューをnilに設定し(セルのオーバーラップを防ぐため)、テーブルデータを再読み込みしていました。

self.tableView = nil;

[self.tableView reloadData];

これは、iPhoneの場合、およびiPadのMWPhotoBrowserの全画面表示から戻らない場合に正常に機能します。私が理解していない何らかの理由で、上記のコードが問題を引き起こします。フルスクリーン表示から戻っているかどうかを確認するロジックを追加しましたが、すべて問題ありません。時間が許せばもっと調べます。

于 2012-08-29T15:50:48.663 に答える