Mam aplikację, która używa Storyboards do wyświetlania dwóch ekranów. Pierwszy to lista (na zdjęciu jako "Lista"), a druga to mapa ("Térkép"). Każdy widok ma lewy i prawy przycisk nawigacyjny. Naciśnięcie prawego przycisku powoduje przesunięcie widoku mapy do kontrolera nawigacyjnego. Przycisk Wstecz jest ukryty ręcznie na podstawie metody mapy viewDidLoad
.UIBarButtonItem rozmiary różnią się
Chodzi o to, że dlaczego elementy przycisk paska mieć inny rozmiar na każdym ekranie? Jak mogę kontrolować rozmiar przycisków?
Obrazy na przyciskach mają ten sam rozmiar. Skórowanie odbywa się w AppDelegate
pomocą ustawień Wygląd:
// navbar background
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg-titlebar.png"]
forBarMetrics:UIBarMetricsDefault];
// navbar button background
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
// back button background
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
dobrze w moim przypadku ta formuła zawsze pracował dla mnie. Być może podasz granice przycisku paska osobno lub problem z orientacją. –
Pytania z obrazami są zawsze mile widziane :) – Anupdas
Spróbuj ustawić przyciski w viewWillAppear, jeśli aktualnie używasz viewDidLoad –