0

非表示のデフォルト バーを備えたカスタム実装 (シンプルなボタンとラベル) を使用して、ストーリーボードを介して作成されたタブ コントローラーがあります。これはすべて期待どおりに機能し、さまざまなビューをナビゲートできます。ただし、いくつかのビューでは UIScrollView を使用する必要がありますが、タブバーコントロールをスクロールビューの一番下に移動したい場合は、それらにアクセスするには一番下までスクロールする必要があります。このような構成をどのように実装しますか? XCode 4.3、ARC、ストーリーボードを使用しています。

4

3 に答える 3

4

@MichaelFrederick は、質問に対する正しい技術的な回答を提供してくれました。ここで、より高いレベルの設計フィードバックを提供します。

これをしないでください。

あなたが説明したことは、信じられないほど混乱しているように聞こえます。の目的の 1 つUITabBarは、現在の「モード」に関するコンテキストをユーザーに提供することです。それを非表示にすることで、ユーザーにこのコンテキスト情報を提供できなくなります。

また、ユーザーがモード (タブ) をすばやく切り替えたい場合、スクロールを強制していることも意味します。

スクロール ビュー (たとえば、大きな画像) に最大の画面領域が絶対に必要な場合は、代わりにモーダル ビュー コントローラーを提示することを検討してください。これにより、必要なものが得られますが、面倒なサブクラス化、カスタム タブ (常に正しく動作するとは限りません)、または使いやすさの問題はありません。

于 2012-06-19T00:07:43.867 に答える
1

タブを含む UIView の独自の実装を作成し、それを UIScrollView の下部に配置する必要があります。

UITabBarController は、ウィンドウのルートである必要があります。つまり、UITabBarController 内の UIViewController には UIScrollView を含めることができますが、UITabBarController を別の UIViewController 内 (または UIScrollView 内) に配置することはできません。

UITabBarController クラスリファレンスから:

タブ バー インターフェイスを展開する場合は、このビューをウィンドウのルートとしてインストールする必要があります。他のビュー コントローラーとは異なり、タブ バー インターフェイスは別のビュー コントローラーの子としてインストールしないでください。

于 2012-06-18T23:26:29.310 に答える
0

私はコンラッドに完全に同意し、マイケルはすべてにおいて正しいですが、独自のカスタム タブ バーを作成する必要はないと思います。UITabBarを使用せずに直接使用できるはずですUITabBarController

コンラッドは完全に正しいので、ドキュメントを読む以外に、それを行う方法についてのヒントはこれ以上提供しません。とても悪いデザインです。

于 2012-06-19T00:26:23.640 に答える