2013-08-03 2 views
0

Метод UIButton Action не показывает никаких результатов при выполнении. В основном UIButton по умолчанию показывает изображение Bookmark-N при нажатии UIButton, он должен заменить закладку-N изображением Bookmark-YES.Метод действия UIButton ничего не делает

При нажатии кнопки UIButton не заменяет изображение, не делая ничего.

@property (weak, nonatomic) IBOutlet UIButton *bookmarkbtn; 

- (IBAction)bookmarkAction:(id)sender; 


- (IBAction)bookmarkAction:(id)sender { 

if (_bookmarkbtn.tag) 

{ 
    [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-Y.png"] forState:UIControlStateNormal]; 
} 
else 
{ 
    [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-N.png"] forState:UIControlStateNormal]; 
} 
} 

Я думаю, что что-то должен делать с этим утверждением

if (_bookmarkbtn.tag) 

Поскольку это заявление, если это правда, только тогда он будет выполнять все остальное.

Любые идеи, пожалуйста, как исправить это утверждение.

+0

Вы подсоединили кнопку на IBAction в интерфейсе строителя? –

+0

да это связано. – user1120133

+0

Изменить: что происходит, когда вы ставите точку останова на if? Каково значение «тега», это nsinteger btw, а не логическое. –

ответ

1

Пример кода:

- (IBAction)bookmarkAction:(id)sender 
{ 
    if (_bookmarkbtn.tag) 
    { 
      [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-Y.png"] forState:UIControlStateNormal]; 
      _bookmarkbtn.tag = 0; 
    } 
    else 
    { 
      [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-N.png"] forState:UIControlStateNormal]; 
      _bookmarkbtn.tag = 1; 
    } 
} 
+0

Почему вы устанавливаете тег после события? Вы пытаетесь сделать кнопку переключения? –

2

Первая кнопка выбора выбранного изображения и нормальных изображений.

 [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-N.png"] 
      forState:UIControlStateNormal]; 
     [_bookmarkbtn setImage:[UIImage imageNamed:@"Bookmark-Y.png"] 
      forState:UIControlStateSelected]; 

и изменить статус кнопки на выбранную при нажатии кнопки. Проверьте тег отправителя с тегом _bookmarkbtn.

- (IBAction)bookmarkAction:(id)sender { 

     if (_bookmarkbtn.tag == sender.tag) 

     { 
     _bookmarkbtn.selected = !_bookmarkbtn.selected; 
    } 

} 
+0

Когда я использую этот оператор if (_bookmarkbtn.tag == sender.tag), он дает мне ошибку. Тег свойства не найден на объекте типа strong id, а затем i определяется bool BOOL isSelected; и используется, если (_bookmarkbtn.isSelected == YES), но все еще не работает. – user1120133

+0

попробуйте взять ссылку IBOutlet как сильную ... – Krishna

+0

Я изменил статус кнопки, но все еще не работает – user1120133

Смежные вопросы