Unrecognized selector sent on UIBarButtonItem setTintColor

У меня есть приложение в магазине приложений, в котором я использую аналитику Flurry. И время от времени я получаю ошибку необработанного исключения, которую не могу понять.

NSInvalidArgumentException: -[UIBarButtonItem setTintColor:]: unrecognized selector sent to instance 0x177b20 Msg: Application crashed

Что я не могу понять, так это то, что я нигде не устанавливаю цвет оттенка элементов кнопок панели. У меня есть несколько пользовательских представлений, где я устанавливаю правый элемент кнопки панели, но не устанавливаю оттенок.

Большинство моих вариантов использования кнопки выглядят следующим образом.

- (void)viewDidLoad
{
    [super viewDidLoad];

    UINavigationBar *bar = [self.navigationController navigationBar];
    [bar setTintColor:[UIColor colorWithRed:0 green:69.0/255 blue:118.0/255 alpha:1]];
    self.navigationItem.title = @"Edit User";

    UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] 
                                   initWithTitle:@"Save"
                                   style:UIBarButtonItemStylePlain 
                                   target:self
                                   action:@selector(editUser:)];
    self.navigationItem.rightBarButtonItem = saveButton;
    [saveButton release];

    UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] 
                                     initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
                                     target:self
                                     action:@selector(cancel)];

    [[self navigationItem] setLeftBarButtonItem:cancelButton];
    [cancelButton release];

}

Если у кого-нибудь есть какие-либо соображения по этому вопросу, я буду очень благодарен. В своем проекте я ориентируюсь на iOS 4.0 и выше.

UPDATE: Я выяснил причину некоторых случайных проблем с setTintColor. Я обнаружил, что устанавливаю цвет оттенка на одном из элементов кнопки панели. Я предполагаю, что есть некоторые различия между версиями ОС, которые могут вызывать сбои. Поэтому, если кто-нибудь может подсказать мне нейтральный для ОС способ установки пользовательского элемента правой кнопки панели навигации, буду признателен.

6
задан Bill Burgess 19 December 2011 в 16:41
поделиться