10
A
回答
38
要更改表頭如何顯示您需要繼承NSTableHeaderCell,在其繪製方法之一執行自己的自定義繪製,然後用你的子類的實例代替每列的標題單元格。
您可能還會發現,您需要繼承NSTableHeaderView的子類才能繪製任何空間,其中沒有標題單元格可見,並且要替換表格視圖的cornerView
。
這應該讓你開始:
for (NSTableColumn *column in [tableView tableColumns]) {
[column setHeaderCell:
[[[MyHeaderCell alloc]
initTextCell:[[column headerCell] stringValue]]
autorelease]];
}
這裏是爲NSTableHeaderCell的一個子類的起點:
@interface MyHeaderCell : NSTableHeaderCell
{
}
- (void)drawWithFrame:(CGRect)cellFrame
highlighted:(BOOL)isHighlighted
inView:(NSView *)view;
@end
@implementation MyHeaderCell
- (void)drawWithFrame:(CGRect)cellFrame
highlighted:(BOOL)isHighlighted
inView:(NSView *)view
{
CGRect fillRect, borderRect;
CGRectDivide(cellFrame, &borderRect, &fillRect, 1.0, CGRectMaxYEdge);
NSGradient *gradient = [[NSGradient alloc]
initWithStartingColor:[NSColor whiteColor]
endingColor:[NSColor colorWithDeviceWhite:0.9 alpha:1.0]];
[gradient drawInRect:fillRect angle:90.0];
[gradient release];
if (isHighlighted) {
[[NSColor colorWithDeviceWhite:0.0 alpha:0.1] set];
NSRectFillUsingOperation(fillRect, NSCompositeSourceOver);
}
[[NSColor colorWithDeviceWhite:0.8 alpha:1.0] set];
NSRectFill(borderRect);
[self drawInteriorWithFrame:CGRectInset(fillRect, 0.0, 1.0) inView:view];
}
- (void)drawWithFrame:(CGRect)cellFrame inView:(NSView *)view
{
[self drawWithFrame:cellFrame highlighted:NO inView:view];
}
- (void)highlight:(BOOL)isHighlighted
withFrame:(NSRect)cellFrame
inView:(NSView *)view
{
[self drawWithFrame:cellFrame highlighted:isHighlighted inView:view];
}
@end
0
代碼來更改列標題的tableView:
NSString *title = @"Your Title";
NSTableColumn *yourColumn = self.tableView.tableColumns.lastObject;
[yourColumn.headerCell setStringValue:title];
相關問題
- 1. 修改表格
- 2. 在RoR中修改標題?
- 3. 在Mac bash上格式化文件的修改日期/時間?
- 4. D3Plus標題修改
- 5. 更改表格標題
- 6. 用Drupal 7修改主題表格
- 7. 如何替換/修改標題標題之間的空格
- 8. 修復html表格標題中的html
- 9. 修改遊標表在
- 10. R表格修改
- 11. 修改表格單元格
- 12. 修改TabControl的標題
- 13. 修改GIF89A文件標題
- 14. PHP無法修改標題
- 15. NSMutableURLRequest修改標題字段
- 16. 修改JScrollPane的列標題
- 17. 修改標題錯誤
- 18. WordPress無法修改標題
- 19. java標題欄修改
- 20. 如何修改標題wso2
- 21. gSOAP - 修改HTTP POST標題
- 22. 修改JvLoginDialog的標題
- 23. viewForHeaderInSection將標題放在表格上方
- 24. 在Mac上修復Python
- 25. 在Mac OS上修復$ PATH
- 26. 在Mac OSX上設置終端標題
- 27. 在VS2012中修改部分標題
- 28. 在請求標題中修改JSESSIONID cookie
- 29. 無法修改標題信息 - 在WordPress
- 30. 更改Shopify上的標題格式
這是一個很好的答案;我希望兩天前我能找到它。那意味着48小時的時間將我的頭撞在桌子上。 :-) – nomothetis 2011-11-02 15:52:23