Как отключить UINavigationBarItem? - PullRequest
       4

Как отключить UINavigationBarItem?

0 голосов
/ 15 января 2011

Я пытаюсь отключить кнопку, которую добавляю на панель контроллера навигации. Вот как я это добавил:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStylePlain target:self action:@selector(addNew)];          
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];

Каков наилучший способ включить / отключить подобные элементы? Я пробовал этот код:

addButton.disabled = YES;

но это, конечно, не работает. Любая помощь будет оценена. Спасибо.

Редактировать: должно быть addButton.enabled = YES;

Oops

1 Ответ

1 голос
/ 15 января 2011

Если вы определите addButton в своем заголовке и @synthesize его, тогда вы сможете использовать addButton.enabled = NO;, нет «отключенного» сеттера.

.h

@interface MyViewController {
    UIBarButtonItem *addButton;
}
@property(nonatomic,retain) UIBarButtonItem *addButton;
@end

.m

@implementation MyViewController
@synthesize addButton;

-(void)viewDidLoad{
    addButton = [[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStylePlain target:self action:@selector(addNew)];          
    self.navigationItem.rightBarButtonItem = addButton;
    [addButton release];
}
-(void)DoSomething{
    addButton.enabled = NO;
}
...