iPhone OS 3.2のみのクラスを使用します
-
03-10-2019 - |
質問
iPhone OS 3.2で導入されたクラスを使用するユニバーサルアプリをどのように作成しますか。 UIPopoverController
と UISplitViewController
? Jeff Lamarcheのこれについてのブログでは、OLEはこれらのオブジェクトをインスタンス化する方法を提供しています。あなたはインスタンス化されます UIPopoverController
そのようです: [NSClassFromString(@"UIPopoverController") alloc]
.
これらのクラスをコードにインスタンス化するには問題ありませんが、プロトコルとその方法はどうですか?私のiPadアプリはaを使用します UISplitViewController
に準拠する必要があるクラスがあります UISplitViewControllerDelegate
と UIPopoverControllerDelegate
. 。これをどのように宣言しますか?そして、次のような方法でどのように作業しますか?
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
メソッド呼び出しが必要な場合 UISplitViewController
渡される?
解決 2
そして、そのように、UIKITフレームワークを弱体化する場合、これは問題ではないことがわかります。ここでこれを見つけました スタックオーバーフロー.
他のヒント
これらはそこに残すことができます UISplitViewController*
などは、コンパイラがタイプチェックするためのタイプとしてのみ機能します(とは異なります [UISplitViewController alloc]
実際のシンボルをリンクする必要があります)。
Aを追加します @class UISplitViewController, UIPopoverController;
ファイルがコンパイルされていない場合は、ファイルの開始時に。