2011-11-17 8 views
3

iPadの向きを変更すると、ツールバーに問題があります。目的C:方向変更時の適応ツールバー

私は自分のnibファイルをランドスケープに設定しても問題ありませんが、私はそれを縦向きにしてもツールバーの横幅は横長です。

私はツールバーをポートレートの向き変更に適応させる方法を教えてください。

景観: enter image description here

ポートレート:

enter image description here

感謝!

答えて

3

そうのようなツールバーautoresizingMaskUIViewAutoresizingFlexibleWidthを追加してみてください:

myToolbar.autoresizingMask |= UIViewAutoresizingFlexibleWidth 

それとも、あなたがInterface Builderでこれを行う場合は、必ずこの水平バーは罰金である、他は同様に選択することができる(選択されていることを確認

:): UIView Class Referenceについて autoresizingMaskから

enter image description here

詳細

ビューの境界が変更されると、そのビューは自動的に各サブビューの自動サイズ変更マスクに応じて サブビューのサイズを変更します。 UIViewAutoresizingに記述されている定数とCビット単位のOR演算子を組み合わせて、このマスクの値を と指定します。これらの値を組み合わせると、ビューのどのサイズを拡大するかを指定したり、 をスーパービューに対して縮小したりすることができます。このプロパティのデフォルト値 はUIViewAutoresizingNoneです。これは、ビューが に変更されてはならないことを示します。

同じ軸に複数のオプションが設定されている場合、デフォルトの の動作は、フレキシブル部分の にサイズ差を比例して分散させることです。フレキシブル部分が大きいほど、他のフレキシブル部分に比べて、より多く成長する可能性が高い。例えば、 は、このプロパティはUIViewAutoresizingFlexibleWidthUIViewAutoresizingFlexibleRightMargin定数を含むが、このようにして図の左余白の幅が固定されていることを を示す にUIViewAutoresizingFlexibleLeftMargin定数が含まれていませんが、ビューの 幅及び右マージンを変更することができると仮定する。したがって、ビューは、ビューの右側にあるビューの幅とギャップの両方が増加する間に、そのスーパービューの左側に に固定されて表示されます。

自動サイズ変更動作は、あなたの正確なレイアウト あなたの意見の必要性を提供していない場合は、より正確に、あなたのサブビューを配置するカスタムコンテナビューを使用し、そのlayoutSubviews方法を オーバーライドすることができます。

+0

これは価値がありますか? – SeongHo

+0

@SeongHo Yea、このように設定してみてください: 'myToolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth' – chown

+0

はい、私はすでにそれを持っていますが、私の本当の問題は何ですか... //私の投稿を編集しました – SeongHo

1

ツールバーの柔軟な幅を調整することに加えて、ツールバー項目の2つの配列を作成することができます。1つはポートレート用、もう1つはランドスケープ用です。幸いなことに、ツールバー項目を一度作成し、適切な配列に追加するだけで済みます。

方向変更の間に、ツールバーのitems配列を適切なものに設定することができます。

幸運

関連する問題