私は現在、最初の 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 に設定しようとし、インターフェイス ビルダーでビューのスプリングとストラットを設定しようとしましたが、何も役に立ちませんでした。
助けてくれてありがとう。