私のアプリでは、ナビゲーションバーに画像(ロゴ)を追加します。私はXCode 4.2とiOS 5に取り組んでいます。
UINavigationBar
、UIToolBar
がiOS 5で変更されたことを知っています。したがって、iOS 4.2 UINavigationBar
コードはiOS 5では動作しません。
4.2と5の両方のバージョンでUINavigationBar
の表示画像をサポートしたい。
下のスクリーンショットのようにUINavigationBar
で画像を表示したいです。
この点で助けてください。サンプルコードがある場合は、私にとって非常に役立つことを意味します。
ありがとう!!!
これを行う1つの方法は、UINavigationItem.titleView
およびUINavigationItem.rightBarButtonItem
。このような :
viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];
viewController.navigationItem.rightBarButtonItem = item;
ここでは、カスタムビューとしてUIImageView
を使用していますが、カスタムイメージでUIButton
にすることもできます。
ViewControllerを使用しない別の方法
// Create your image
UIImage *image = [UIImage imageNamed: @"logo.png"];
UIImageView *imageview = [[UIImageView alloc] initWithImage: image];
// set the image view to the title view
self.navigationItem.titleView = imageview;
Swiftバージョン:View Controllerで関数を使用するためのプロトコル拡張機能を作成できます
protocol Customizable {
var navigationItem: UINavigationItem { get }
}
extension Customizable {
func setNavBarLogo() {
let logo = UIImage(named: "logo")
let logoImageView = UIImageView(image: logo)
self.navigationItem.titleView = logoImageView
}
}