1
可以輕鬆地爲主文本區域設置截斷,但彈出窗口不會執行任何截斷操作,但具有相似的路徑,用戶無法分辨哪個路徑是哪個路徑。如何在NSComboBox的彈出窗口中更改截斷方法或寬度
或者是一種方法來更改彈出列表的寬度匹配最長的字符串,以便不需要截斷?
可以輕鬆地爲主文本區域設置截斷,但彈出窗口不會執行任何截斷操作,但具有相似的路徑,用戶無法分辨哪個路徑是哪個路徑。如何在NSComboBox的彈出窗口中更改截斷方法或寬度
或者是一種方法來更改彈出列表的寬度匹配最長的字符串,以便不需要截斷?
不幸的是,沒有官方的方式來做到這一點。
有一種方法可以做到這一點,雖然它不使用任何私有方法,但依賴於NSComboBoxes在內部實現的方式,並且可以隨時更改。這在App Store中可能不會被接受。
如果您繼承NSComboBoxCell並實現NSTableViewDelegate方法tableView:willDisplayCell:forTableColumn:row:
,則可以在文本單元顯示在組合框的彈出窗口中之前修改它。
- (void)tableView:(NSTableView *)tableView
willDisplayCell:(NSCell *)cell
forTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)rowIndex
{
[cell setTruncatesLastVisibleLine:YES];
[cell setLineBreakMode:NSLineBreakByTruncatingMiddle];
}
這工作,因爲在彈出列表與一個NSTableView內部實施,並表視圖的委託設置爲彈出電池。
謝謝,我會看看這是否會爲我們工作。 – 2011-01-21 06:32:16