Obj C - проверка текущего состояния стрелки раскрытия - PullRequest
0 голосов
/ 29 марта 2012

Я пытаюсь провести различие между раскрывающейся стрелкой: «Вкл» (направлен вниз) или «Выкл» (направлен вверх).Размещенный код полностью неверен, и это просто общее представление о том, что я хочу, чтобы он делал.

- (IBAction)disclosureArrow:(NSControl *)sender{

if (disclosureArrow currentState:ON) {
    //action
}

IBOutlet id discloseArrow присоединен к кнопке раскрытия в конструкторе интерфейса и получает команду от IBAction, которая такжеприкреплен к кнопке.Как проверить текущее состояние кнопки?(В отношении раскрытия стрелки.)

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Я считаю:

BOOL isOn = ([sender state] == NSOnState);

Должен сделать свое дело.

0 голосов
/ 29 марта 2012

Итак, вы установили пользовательское изображение как кнопку как accessory view из tableViewCell?Это верно?Вы используете статические клетки?Как вы меняете стрелки?

Самый простой способ - это, вероятно, изменить tag вашего button относительно его состояния.При назначении стрелки вверх вы присваиваете ей метку 1. В противном случае вы присваиваете ей метку 2.

Чем вы можете прочитать ее так:

- (IBAction)disclosureArrow:(NSControl *)sender
{
  if (sender.tag == 1)
  {
  }
}
...