1
MacOSの連絡先アプリケーションが自分のアプリでGroupRowsと何を模倣しようとしていますが、グループ行の上と下の行を取り除く方法を見つけることができません。私は独自のカスタムNSTableRowViewを追加しようとしましたが、問題なく背景色を変更できますが、それらの枠線を取り除く方法は考えられません。NSTableView - GroupRowスタイルを変更する
MacOSの連絡先アプリケーションが自分のアプリでGroupRowsと何を模倣しようとしていますが、グループ行の上と下の行を取り除く方法を見つけることができません。私は独自のカスタムNSTableRowViewを追加しようとしましたが、問題なく背景色を変更できますが、それらの枠線を取り除く方法は考えられません。NSTableView - GroupRowスタイルを変更する
サブクラスNSTableRowView。 tableViewに続いて
- (void)drawRect:(NSRect)dirtyRect {
if (!self.isGroupRow)
[super drawRect:dirtyRect];
}
:サブクラスで
@interface CustomTableRowView : NSTableRowView
@property (nonatomic, assign) BOOL isGroupRow;
@end
オーバーライドのdrawRect:そのようにのようなあなたのサブクラスでプロパティを追加rowViewForRowは、isGroupRowを設定します。
tableRow.isGroupRow = [self tableView:tableView isGroupRow:row];
これは削除されますグループ行の上下のセパレータ申し訳ありませんが私はスイフトを知らないが、おそらくそれをかなり簡単に翻訳することができます。それが役に立てば幸い!
'NSTableRowView'の' drawSeparatorInRect'を見てください – vadian
私はこれをすべての方法で試しました。私の理解では、これは非groupRowsのセパレータにのみ適用されます。私は間違っているかもしれません;もしあなたがそれを働かせていれば、私は喜んで見ています。 – Daniel
それは 'viewFor(TableColumnのでは動作しない場合は、次の行:。。'あなたは 'NSView'のサブクラスである何かを返すので、テキストとセパレータのカスタム描画を使用して独自のビューを作成することができます – vadian