2

背景と目的:

私の既存のアプリでは、ボイス メッセージ機能をユーザーに提供しようとしています。このアイデアは、オプションで、アプリ内のどこからでもボイス メッセージのユニバーサル アクセスをユーザーに提供することです (Facebook メッセージに着想を得ています)。これまでのところ、ミニ メッセージ ダッシュボードの表示と、iPhone と iPad の両方でカスタマイズされたメッセージ (ポップオーバー) ビューを開くタップを表示することに部分的に成功しています。

アプリケーション キーウィンドウにミニ ダッシュボード サブビューを追加したため、アプリ内を移動するときにすべてのビュー (上部) に表示されます。

[application.keyWindow addSubview:self.messageDashBoardVC.view];

これにより、このように表示されたアプリのモーダル ダイアログ (ほとんど) の上に (箱から出して) 自動的に表示されます。

[self presentViewController:modelVC アニメート:YES 完了:nil]

特定の問題ステートメント:

ただし..iPadでは、View Controllerがモーダルに表示されている場合

modalPresentationStyle = UIModalPresentationFormSheet

またはUIModalPresentationPageSheet 、ミニ ダッシュボードがモーダル ダイアログ (シート) の後ろに隠れます。ただし、これらのシートで作業するときに、ユーザーに音声機能 (ミニ ダッシュボードとポップオーバー ビュー) にアクセスしてもらいたいです。

私の既存のアプリでは、このようなモーダル ダイアログ (シート) を多数使用しています。

一般的な問題の説明: 再利用可能なコンポーネント/ソース コードはありますか?同じことを行う再利用可能なコンポーネント/ソース コードはありますか? 私のアプローチであなたが想定している他の問題はありますか?

4

2 に答える 2

0

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] 境界]];

MALoginViewController *login=[[MALoginViewController alloc]initWithNibName:@"MALoginViewController" bundle:nil];
 MANowPlayingViewController *nav=[[MANavigationController alloc]initWithRootViewController:home];
[self.window setRootViewController:nav];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

ここで MANowPlayingViewController は UINavigationController のクラスです..そのため、UINavigationController 用に別のクラスを作成する必要があります.それを Window RootviewController に設定します..

その UINavigationController クラスで指定したものはすべて、アプリのすべてのページを表示します..このクラス内ですべての共通コードを処理できます..たとえば、その NavigationBar に UIButton を追加すると、すべてのクラスに表示されます...

ありがとう..

于 2013-08-17T08:33:11.733 に答える