Как добавить изображение в UINavigationBar в приложении IPhone
В моем приложении я хочу добавить изображение (логотип) в панель навигации. Я работаю над XCode 4.2 и iOS 5.
Я знаю, что UINavigationBar
, UIToolBar
был изменен в iOS 5. Итак, iOS 4.2 UINavigationBar
код не будет работать в iOS 5.
Я хочу поддерживать отображаемое изображение в UINavigationBar
в версиях 4.2 и 5.
Я хочу отображать изображение в UINavigationBar
, как показано на рисунке ниже.
![Navigation bar image]()
Пожалуйста, помогите в этом, и если есть какой-либо примерный код, значит, он очень полезен для меня.
Спасибо!!!
Ответы
Ответ 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
с пользовательским изображением.
Ответ 2
Другой способ без использования 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;
Ответ 3
Быстрая версия:
Вы можете создать расширение протокола для использования функции в контроллерах вашего вида.
protocol Customizable {
var navigationItem: UINavigationItem { get }
}
extension Customizable {
func setNavBarLogo() {
let logo = UIImage(named: "logo")
let logoImageView = UIImageView(image: logo)
self.navigationItem.titleView = logoImageView
}
}