добавление пользовательского UIButton в UINavigationBar - PullRequest
1 голос
/ 09 октября 2011

Итак, мой код выглядит следующим образом:

// Create a containing view to position the button
    UIView *containingView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 23.5, 21.5)] autorelease];

    // Create a custom button with the image
    UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:@"Settings.png"] forState:UIControlStateNormal];
    [button addTarget:self action:@selector(settings) forControlEvents:UIControlEventTouchUpInside];
    [button setFrame:CGRectMake(-19, -3, 21.5, 21.5)];
    [containingView addSubview:button];

    // Create a container bar button
    UIBarButtonItem *containingBarButton = [[[UIBarButtonItem alloc] initWithCustomView:containingView] autorelease];
    self.navigationItem.rightBarButtonItem = containingBarButton;

Проблема в том, что мой исходный размер файла Settings.png - 21,5, 21,5, и поэтому нажать кнопку очень сложно. Я должен нажать очень сильно, чтобы вызвать срабатывание UITouchUpInside. Это будет явно отклонено, если я положу его в магазин приложений, так как это не соответствует HIG от Apple. Это можно обойти? Мне все еще нужно использовать UIView в качестве контейнера для UIButton, так как я хотел бы правильно расположить его на UINavigationBar

1 Ответ

0 голосов
/ 09 октября 2011

Попробуйте установить большую кнопку в кадре, например 40,40, и установите режим содержимого в центре, чтобы изображение было в центре.

button.contentMode = UIViewContentModeCenter;

Скажите, помогло ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...