2013-08-21 3 views
0

Я немного застрял и, похоже, не могу это обработать из яблочных документов.Скрыть кнопку в NSTableView

У меня есть две кнопки в столбце NSTable, содержащиеся в NSTableCellView.

Я пытаюсь, в коде, скрыть кнопку в зависимости от значений объекта в строке.

Получение значений в порядке, но я не могу определить, как настроить таргетинг на определенную кнопку, я не могу привязать ее к розетке, поскольку она находится внутри таблицы. Я попробовал приведенный ниже код, но это просто скрывает весь NSTableCellView, а не конкретную кнопку, я также попытался изменить идентификатор на кнопку, но это похоже на то, что нужно.

if(selectedTweet.imageURL){ 

     NSButton *imageButton = [tableView makeViewWithIdentifier:@"secondButtons" owner:self]; 
     [imageButton setHidden:NO]; 
     return imageButton; 

    } else { 

     NSButton *imageButton = [tableView makeViewWithIdentifier:@"secondButtons" owner:self]; 
     [imageButton setHidden:YES]; 
     return imageButton; 

    } 

Это, очевидно, намного проще, чем я делаю это ?? Помощь очень ценится.

Благодаря

Gareth

+0

От вашего кода Я вижу, что вы пытаетесь создать NSTableCellView с кнопкой, видимой/скрытой, в зависимости от условного. Вы пытались создать два разных предварительно определенных NSTableCellView на IB, например «secondButtonsWithButton» и «secondButtonsWithoutButton», и называть их когда необходимо ? – CoderPug

ответ

0

Если вы используете CocoaBindings для заполнения этой таблицы, вы можете просто связать атрибут «скрытый» кнопки на Table Cell View/objectValue.imageURL и использовать трансформатор на NSIsNil значение. Никакой код не нужен вообще.

Если вы используете старомодный источник данных, все становится еще сложнее. В этом случае вы можете иметь свойство imageButton в своем объекте и установить его в методе - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row NSTableViewDelegate.

+0

Священный коровьего навоза, это так просто, спасибо, так много, также решил некоторые другие проблемы, которые у меня были. ЛЕГЕНДА! –

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