新しいiOS5の外観APIを利用して、アプリ内のすべてのUINavigationBarインスタンスにカスタムの背景画像を提供したいと思います。これを行うには、次のように簡単です。
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"whatever.png"] forBarMetrics:UIBarMetricsDefault];
ただし、インスタンスごとに、translucent
プロパティの値に応じて異なる画像を提供したいと思います。
// For UINavigationBar instances where translucent returns YES:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"whatever-translucent.png"] forBarMetrics:UIBarMetricsDefault];
// Otherwise:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"whatever.png"] forBarMetrics:UIBarMetricsDefault];
外観APIはクラスメソッドを使用して構成されているように見えるので、このようなことは可能ですか?