Я создаю UIBarButtonItem и добавить его к моей навигационной панели, как так:Изменение ширины UIBarButtonItem в 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;
}
Это выглядит правильно, когда я бегу, но я могу выбрать пункт Панель кнопок, нажав панель навигации в любом месте от x = 0 до примерно 100. Как я могу настроить выбранную область шириной 30 пикселей?
Я боюсь, что я не думаю, что есть способ, чтобы настроить выбираемые область. Вопрос, хотя, почему вы хотите, чтобы ширина была 30 px? В руководстве iOS Human Interface Guideline указано, что удобный минимальный размер отображаемых элементов пользовательского интерфейса составляет 44 х 44 точки. http://developer.apple.com/library/ios/# documentation/UserExperience/Conceptual/MobileHIG/Характеристики/Characteristics.html –
Хм, хорошо спасибо за ссылку на рекомендации. Кажется немного странным, что выбираемая область настолько широка, хотя. – Darren
@AbdSaniAbdJalal можно изменить ширину 'barbuttonitem' в раскадровке? – aircraft