NSTableView Закругленные углы, такие как UITableView Группы

Я пытаюсь создать NSTableView с закругленными углами (очень похоже на iOS Grouped стиль представления таблицы). Тем не менее, это оказывается исключительно сложным.

Я пытался использовать CALayers:

// ...
self.wantsLayer = YES;
self.layer.masksToBounds = YES;
self.layer.cornerRadius = 10.0;
// ...

который работает для NSView подклассы, но не NSTableView или же NSScrollView,

Я также пытался переопределить drawRect:и используйте bezierPaths.

NSBezierPath *rectPath = [NSBezierPath bezierPathWithRect: self.bounds];
[rectPath appendBezierPathWithRoundedRect: self.bounds xRadius: 10 yRadius: 10];
[rectPath addClip];
[super drawRect: rectPath.bounds];

Я не проверял этот метод на NSViewс, но не работает как есть NSTableViews.

Я уже видел несколько "дублирующих" вопросов здесь, на Stackru, однако они не смогли обеспечить удовлетворительные решения.

Закругленные углы в NSTableView имеют 1 "правильный" ответ, который, по-видимому, помечен так просто, потому что спрашивающий изменил свою цель. Этот вопрос заставил меня попробовать NSBezierPathс, но, как я уже сказал, я не могу заставить этот метод работать.

NSTableView закругленные углы предлагает создать подкласс NSScrollView, однако это было одинаково не отвечает CALayers,

Любые предложения будут ценны. Я хотел бы получить четкий ответ не только для себя, но и для потомков.

1 ответ

Решение

Я также сталкиваюсь с той же проблемой сделать поворот за углом, но не получил ответа.

Наконец, я сделал это по-другому, я сделал фон таблицы прозрачным и добавил изображение.png файлов круглого угла 4 пикселя(что я хочу показать) сразу за представлением таблицы.

Таким образом, я показал таблицу с круглым углом. Надеюсь, что это решение работает для вас.

Другие вопросы по тегам