Tworzę UIBarButtonItem i dodanie go do mojego paska nawigacyjnego tak:Zmień szerokość UIBarButtonItem w UINavigationBar
(void)viewDidLoad {
...
// Add the refresh button to the navigation bar
UIButton *refreshButton = [UIButton buttonWithType:UIButtonTypeCustom];
[refreshButton setFrame:CGRectMake(0,0,30,30)];
[refreshButton setImage:[UIImage imageNamed:@"G_refresh_icon.png"] forState:UIControlStateNormal];
[refreshButton addTarget:self action:@selector(refreshData) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *refreshBarButton = [[[UIBarButtonItem alloc] initWithCustomView:refreshButton] autorelease];
self.navigationItem.leftBarButtonItem = refreshBarButton;
}
Wygląda poprawne kiedy biegnę, ale mogę wybrać pozycję przycisk paska dotykając pasek nawigacji w dowolnym miejscu od x = 0 do około 100. Jak mogę dostosować obszar do wyboru tak, aby miał szerokość 30 pikseli?
Obawiam się, że nie sądzę, istnieje sposób, aby dostosować obszar selekcyjny. Pytanie jednak, dlaczego miałbyś mieć szerokość 30 px? Wytyczne dla interfejsu użytkownika interfejsu iOS określają, że wygodny minimalny rozmiar elementów interfejsu UI to 44 x 44 punkty. http://developer.apple.com/library/ios/# documentation/UserExperience/Conceptual/MobileHIG/Characteristics/Characteristics.html –
Hmm, ok, dzięki za link do wytycznych. Wydaje się nieco dziwne, że obszar do wyboru jest tak szeroki. – Darren
@AbdSaniAbdJalal możemy zmienić szerokość 'barbuttonitem' w storybooku? – aircraft