2012-05-08 7 views
1

私の主要な開発マシンがSnow Leopardを実行している(したがって、iOS 5.0 SDKのみ)、Lion(および5.1SDK)を実行しているラップトップを持っている不思議な設定で作業してください。私はSnow Leopardマシンで5.1を開発するための簡単な解決策があることを願っていますが、それは側面の問題です。SplitViewController presentWithGestureの回避策 - 最適なソリューションですか?

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

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

ため息...ので、私はそれをテストしようと思いましたが、次の:

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

...まだ私にそのエラーが発生します。これを回避するための巧妙な方法はありますか?私の頭の後ろのある声は「カテゴリ」と言っていますが、どこから始めたらいいか分かりません。

ご協力いただきありがとうございます。

答えて

0

メッセージを受け取ることができる場合は、splitViewControllerに問い合わせてください。presentWithGesture

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

これはあなたがにリンクしているのiOSの同じバージョンを使用していない可能性がユーザーを扱うためのコード・ブロックであることに留意してください。あなたが持っている問題は、同じプロジェクトのコードを別々の2つのデバイスに作成し、それぞれ異なる基本SDKを使用しているという点で反対です。

編集:これはUISplitViewControllerかどうかを確認するための方法ですIs it possible to get the iOS 5.1 SDK for Xcode 4.2 on Snow Leopard?

+0

これは基本的に私のコードでやっていることです。あなたのやり方はより標準的ですが、それはエラーフラグを解決しません。私はまだ:エラー:セマンティック問題:プロパティ 'presentWithGesture' 'UISplitViewController *'のオブジェクトに見つかりません –

+0

私は私の答えを更新してみてください。 – Justin

+0

努力をいただきありがとうございますが、私はまったく同じエラーを取得します。私は、ドット構文がsetterにアクセスする単なる方法であると信じていますが、私もそのバリエーションを早めに試みました。 –

1

こちらをご覧ありpresentsWithGestureProperty:それはプロパティを設定し、以前のバージョンではそれが入らないのiOS 5.1で

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

ifステートメント。