1

私のメイン開発マシンが Snow Leopard を実行している (したがって、iOS 5.0 SDK だけを持っている) 奇妙なセットアップに取り組んでおり、Lion (および 5.1SDK) を実行しているラップトップも持っています。Snow Leopard マシンで 5.1 を開発できる簡単な解決策があればいいのですが、それは副次的な問題です。

私はUISplitViewControllersを学んでおり、詳細ビューコントローラーに表示されているものを変更するスワイプジェスチャが必要でした。それを実装しましたが、5.1 には presentsWithGesture というプロパティがあり、その方向にスワイプすると masterViewController が表示されます。

無効にすることはできますが、私の 5.0 マシンでは、UISplitViewController にはpresentedWithGesture という名前のプロパティがないというエラーが表示されます (5.0 で正しい)。

ため息...だから私はそれをテストしようと思ったが、次の:

if (self.splitViewController.presentedViewController) {
    self.splitViewController.presentsWithGesture = NO;
}

...まだそのエラーが発生します。これを回避する賢い方法はありますか?頭の後ろで「カテゴリ」という声が聞こえますが、どこから始めればよいかわかりません。

よろしくお願いします。

4

2 に答える 2

1

これは、次のものがあるかどうかを確認する方法UISplitViewControllerですpresentsWithGestureProperty

if ([m_splitVC respondsToSelector:@selector(setPresentsWithGesture:)])
    [m_splitVC setPresentsWithGesture:NO];

iOS 5.1 ではプロパティを設定し、以前のバージョンでは if ステートメントに入りません。

于 2012-07-06T13:08:31.780 に答える
0

メッセージ presentsWithGesture を受信できるかどうか、splitViewController に問い合わせる必要があります。

if ([splitViewController respondsToSelector:@selector(presentsWithGesture:)]) {
    //edited away from dot syntax
    [splitViewController setPresentsWithGesture:NO];
}

これは、リンク先の iOS と同じバージョンを使用していない可能性があるユーザーと連携するためのコード ブロックであることに注意してください。あなたが抱えている問題は、それぞれが異なるベース SDK を持つ 2 つの別々のデバイスで同じプロジェクトのコードを書いているという点で、逆です。

編集: ここを参照Snow Leopard で Xcode 4.2 用の iOS 5.1 SDK を入手することは可能ですか?

于 2012-05-08T16:57:59.740 に答える