NSCell
のテキストをカスタマイズする際に問題がありますNSTableView
。以下はメインウィンドウです。
ウィンドウには、アイコン、タイトル、進行状況インジケーター、およびメッセージを表示するテーブル ビューがあります。私のコンピューターは 10.6 なので、セルベースのテーブルビューで実装します。カスタム セルは、Apple が提供する ImageAndTextCell に基づいています。メッセージは次のように描画されます。
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
NSMutableDictionary *fontAttributes = [NSMutableDictionary dictionaryWithCapacity:1];
[fontAttributes setObject:[NSFont fontWithName:@"Hei" size:12] forKey:NSFontAttributeName];
if (!self.msg) {
self.msg = @"default";
}
CGRect textFrame = cellFrame;
textFrame.origin.x += 20;
textFrame.origin.y += 20;
[self.msg drawAtPoint:textFrame.origin withAttributes:fontAttributes];
}
msg
セルのコピー NSString プロパティです。私は2つの問題に遭遇しました:
1 1 つのセルを選択すると、次のようにメッセージが閉じられます。
選択を解除するだけで、再び表示されます。修正するにはどうすればよいですか?
2 タイトルをカスタマイズする必要があります。ご覧のとおり、各セルには sae または IBM というタイトルが付いています。デリゲートから返される値です。
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex;
位置、色、フォントを変更できますか?