0

私はコア Bluetooth フレームワークを使用しています。このアプリでは、複数の Bluetooth デバイスを iPhone に接続する必要があり、Bluetooth デバイスが範囲外になるとアラートが表示されます。

このアラートの代わりに、UIViewController を表示したいと思います。Alert のすべてのコーディングは、NSObject クラスで処理されます。

AlertViewの代わりに表示したい画面は次のとおりです

ここに画像の説明を入力

4

3 に答える 3

1

あなたの質問を正しく理解した場合、NSObject サブクラスのオブジェクトでアクティブな UIViewController への参照が必要です。そのため、現在 AlertView を処理している NSObject をインスタンス化すると、アクティブな UIViewController への参照が送信されます。アクティブな UIViewController からインスタンス化する場合は、次のようになります。

NSObjectSubclass *alertViewHandler = [[NSObjectSubclass alloc] init];
[alertViewHandler setActiveViewController:self];

その後、アラートを表示する代わりに、alertViewHandler でこれを行うことができます。

[activeViewController presentViewController:viewControllerToPresent animated:YES completion:nil];

あなたの問題にはさらに多くの異なる解決策がありますが、情報が限られているため、どれがあなたに最も適しているかを推測することしかできません.

于 2013-05-23T05:52:56.840 に答える
0

同様に、すべての問題には解決策があります。これを念頭に置いて、私は試してみて解決策を得ました

NSObject から UiViewController を表示するには - AppDelegate には独自の UIViewController があり、UIViewController でその風のオーバーライドを使用するため、App Delegate クラスからの参照を使用します。

上記の場合、ビューを NSObject から呼び出す必要があったため、すべての機能が ViewController 内で動作するため、pushViewController または PresentViewController を使用することはできません。

于 2013-05-24T05:13:33.457 に答える