2014-04-24 30 views
0

我有一個2列的TableView。第二列包含兩段的分段控制按鈕。我想要做的是在表格第一次顯示之前修改每行按鈕的「enabled」屬性。我已經搜索並找不到合適的解決方案。我如何獲得每行的SegmentedControl訪問權限?XCode:訪問TableView上的分段控件

回答

0

使用tableView:willDisplayCell:forTableColumn:row:委託方法。

- (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex 
{ 
    if ([cell isKindOfClass:[NSSegmentedCell class]]) 
    { 
     if(1) // add your condition 
     { 
      [(NSSegmentedCell*)cell setEnabled:NO]; 
     } 
    } 
} 
+0

我已經試過了,因爲它看起來像是正確的選擇。但是,當我切換到包含我的TableView的視圖時,不會調用此方法。 TableView的委託也被正確設置。 – user3568088

+0

當您切換到包含TableView的視圖時呼叫重新加載數據 –

+0

仍然不起作用。我發現一些其他帖子說這個方法不是用基於視圖的TableView調用的。我設法通過在代碼中創建分段控件來實現這一點。所以它完成了這項工作。 – user3568088