Подтвердить что ты не робот

Как добавить изображение в 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

Пожалуйста, помогите в этом, и если есть какой-либо примерный код, значит, он очень полезен для меня.

Спасибо!!!

4b9b3361

Ответ 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
    }
}