2


私は現在、最初の iOS アプリに取り組んでおり、かなり長い間次の問題をいじっています:
ナビゲーションとツールバーを備えたナビゲーションコントローラーを使用していますが、どちらも最初は非表示になっています。画面をタップすると、バーを切り替えることができます。ここで、バーの輪郭を影付きの線で囲むだけにする必要があります。それ以外の場合は、背景が白く (ルート ビューの背景と同じように)、黒のフォントが必要です。設定することでそれを達成しました

self.navigationController.toolbar.tintColor = [UIColor whiteColor];
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

appdelegate のフォントの外観を少し調整します。

 [[UINavigationBar appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor colorWithRed:0 green:0 blue:0 alpha:1.0],UITextAttributeTextColor,
  [UIColor colorWithRed:255 green:255 blue:255 alpha:0],UITextAttributeTextShadowColor,
  [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],UITextAttributeTextShadowOffset,
  [UIFont fontWithName:@"Helvetica" size:0.0],UITextAttributeFont,
  nil]]

これまでのところ、すべて正常に機能しています。ただし、問題は次のとおりです。ルートビューのサイズを変更せず
に、切り替えたときにナビゲーションとツールバーの両方をアニメーション化します (このスムーズなスライドイン/アウト) 。これは、現在設定されているようにツールバーで機能していますが、ナビゲーション バーは常にそうするのを拒否しています。 ナビゲーション バーを半透明に設定しようとしました: - ルート ビューのサイズは変更されませんが、ナビゲーション バーもアニメーション化されず、ポップアップする だけです また、ナビゲーション バーの autoresizingMask を UIViewAutoresizingNone に設定しようとし、インターフェイス ビルダーでビューのスプリングとストラットを設定しようとしましたが、何も役に立ちませんでした。





助けてくれてありがとう。

4

1 に答える 1

0

setCenter:のメソッドとsetFrame:メソッドを使用してUINavigationBar、「スライド」を実行してみてください。

于 2012-12-18T15:37:36.527 に答える