Могу ли я иметь кнопку состояния панели инструментов UIToolbar - PullRequest
1 голос
/ 10 мая 2011

Есть ли простой способ иметь включенное и выключенное состояние для UIBarButtonItems, с разными изображениями для каждого?

Спасибо

1 Ответ

2 голосов
/ 10 мая 2011

Нет встроенного способа, но я могу придумать несколько подходов (в зависимости от ваших потребностей):

  • Привязать кнопку к методу, который переключает независимо от того, что кнопка предназначенадля переключения, а затем соответственно изменяет свойство image кнопки
  • Создайте собственный подкласс UIBarButtonItem, который будет выглядеть примерно так:

    @interface ToggleBarButtonItem : UIBarButtonItem {
        BOOL _state;
        UIImage * onImage;
        UIImage * offImage;
    }
    - (BOOL)toggleState;
    @property (nonatomic, retain) UIImage * onImage;
    @property (nonatomic, retain) UIImage * offImage;
    @end
    
    @implementation ToggleBarButtonItem
    - (BOOL)toggleState {
        if (_state) {
            // Switch to Off state
            self.image = offImage;
        }
        else {
            // Switch to On state
            self.image = onImage;
        }
        return _state = !_state;
    }
    @end
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...