2015-05-18 1 views
0

У меня есть UIBarButtonItemUIButton устанавливается как UIBarButtonItem не отключается при установке название на нем (работает хорошо, если я использую UIImage в UIButton)

@property (nonatomic, retain) UIBarButtonItem *editBarButton; 

Я просто вставить UIButton в UIBarButtonItem, с заголовком, шрифт & и т.д. в viewDidLoad

editButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    editButton.titleLabel.font = [UIFont fontWithName:@"Helvetica-light" size:18]; 
    editButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 
    [editButton setTitle:@"Post" forState:UIControlStateDisabled]; 
    //[editButton setImage:[UIImage imageNamed:@"status_post"] forState:UIControlStateNormal]; 

    [editButton addTarget:self action:@selector(editBarButtonPress:)forControlEvents:UIControlEventTouchUpInside]; 
    [editButton setFrame:CGRectMake(0, 0, 57, 30)]; 
    self.editBarButton = [[UIBarButtonItem alloc] initWithCustomView:editButton]; 
    self.navigationItem.leftBarButtonItem = self.editBarButton; 

последний я использую его во многом состоянии, как и в viewWillAppear:

if (self.chatLogsArray.count) 
{ 
self.editBarButton.enabled = YES; 
} 
else 
{ 
self.editBarButton.enabled = NO; 
} 

Но он не отключается, пока я использую заголовок в Button. Но работает нормально, если я установил UIImage в UIButton. Почему это? А что мне не хватает?

Большое спасибо.

+0

Что вы имеете в виду под «не отключено»? Когда я протестировал ваш код, он работал отлично для меня. –

+0

Спасибо за ваш комментарий. Говоря «отключенное» среднее, нельзя включить ex: self.editBarButton.enabled = NO; или self.navigationItem.leftBarButtonItem.enabled = NO; Это работает Если я прокомментирую эту строку '[editButton setImage: [UIImage imageNamed: @" status_post "] forState: UIControlStateNormal];' – Tulon

ответ

0

Возможно, вам стоит объявить имущество и отключить UIButton вместо UIBarButtonItem.

0

Если вы хотите, чтобы текст и изображение на UIButton, вам нужно установить изображение в качестве фона:

[editButton setBackgroundImage:[UIImage imageNamed:@"status_post"] forState:UIControlStateNormal];