Jak dodać obraz w UINavigationBar w aplikacji IPhone
W mojej aplikacji chcę dodać obraz(logo) w pasku nawigacyjnym. Pracuję na XCode 4.2 i iOS 5.
Wiem UINavigationBar
, UIToolBar
został zmieniony w iOS 5. Więc kod iOS 4.2 UINavigationBar
nie będzie działał w iOS 5.
Chcę wspierać wyświetlanie obrazu w UINavigationBar
zarówno w wersji 4.2, jak i 5.
Chcę być wyświetlany obraz w UINavigationBar
jak na poniższym zrzucie ekranu.
Proszę o pomoc w tym zakresie, a jeśli jest jakiś przykładowy kod oznacza, że jest bardzo pomocny dla ja.
Dzięki!!!3 answers
Jednym ze sposobów jest użycie UINavigationItem.titleView
i UINavigationItem.rightBarButtonItem
. Tak:
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;
Tutaj używam UIImageView
jako niestandardowego widoku, ale może to być {[4] } z niestandardowym obrazem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-11 04:33:16
Inny sposób bez użycia viewcontrollera
// 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;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-20 07:36:40
Wersja Swift: Możesz utworzyć rozszerzenie protokołu do używania funkcji w kontrolerach widoku
protocol Customizable {
var navigationItem: UINavigationItem { get }
}
extension Customizable {
func setNavBarLogo() {
let logo = UIImage(named: "logo")
let logoImageView = UIImageView(image: logo)
self.navigationItem.titleView = logoImageView
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-01 07:46:49