2012-03-29 2 views
0

Я пытаюсь различать стрелку раскрытия, обозначающую «Вкл» (указана вниз) или «Выкл.» (Указана вверх). Опубликованный код совершенно неправильный и просто общая идея того, что я хочу, чтобы он делал.Obj C - Проверка текущего состояния раскрывающегося списка Стрелка

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

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

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

ответ

2

Я считаю:

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

Должен сделать трюк.

+0

если (! [Раскрытие состояния] == NSOnState) Это отлично работало на основе того, что вы сказали, спасибо человеку. –

0

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

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

Чем вы могли бы прочитать это так:

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

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

  • Нет связанных вопросов^_^