1

iOS 7 で導入されたカスタム UIViewController トランジションを使用して、iPhoneのポップオーバーのようなナビゲーション バーで UINavigationController を表示するにはどうすればよいですか? 標準の UIViewController とトランジション アニメーターを使用してこれを実現しました。

http://www.bytolution.com/Screenshot%202013.11.02%2015.25.34.png

代わりに UINavigationController で同じことを試みると、次の結果になります。

http://bytolution.com/Screenshot%202013.11.02%2015.27.10.png

WWDCセッション 218 (ログインが必要) で、Apple のエンジニアが、まさに私が達成しようとしているもののデモを作成しました。

http://bytolution.com/Screen%20Shot%202013-11-03%20at%2013.50.17.png

残念ながら、サンプルコードはどこにも見つかりませんでした。

私のコードを見たい場合は、Github.com/bytolution/Apsiapeにアクセスしてください。

前もって感謝します!

4

3 に答える 3

0

iPhone は UIPopoverController クラスをサポートしておらず、すべてのモーダル トランジションは全画面表示です。それでも明らかに、あなたが示したスクリーンショットは存在します。

どのView Controllerでも、そのビューを抽出して別のビュー内に表示できます。それがそこで行われたことです。背景の上に不透明度 30% の黒いビューが配置され、その上に「ポップオーバー」ビューが追加されます。追加の効果として、認識されたタップ ジェスチャをブラック マスキング ビューに追加して、ユーザーがポップオーバーをタップしたときにポップオーバーを閉じることができます。

于 2013-11-03T13:54:42.320 に答える
0

やっと自力でできる方法にたどり着きました。Google 検索を改良したところ、埋め込み UINavigationControllerであることがわかりました。これは、うまく機能するため、カスタム ビュー コントローラーの遷移にも役立ちました。このstackoverflow.comの質問を確認してください。

コードが必要な場合は、GitHub の私のプロジェクトにあります。

于 2013-11-04T12:09:45.030 に答える