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
с, но не работает как есть NSTableView
s.
Я уже видел несколько "дублирующих" вопросов здесь, на Stackru, однако они не смогли обеспечить удовлетворительные решения.
Закругленные углы в NSTableView имеют 1 "правильный" ответ, который, по-видимому, помечен так просто, потому что спрашивающий изменил свою цель. Этот вопрос заставил меня попробовать NSBezierPath
с, но, как я уже сказал, я не могу заставить этот метод работать.
NSTableView закругленные углы предлагает создать подкласс NSScrollView, однако это было одинаково не отвечает CALayers
,
Любые предложения будут ценны. Я хотел бы получить четкий ответ не только для себя, но и для потомков.
1 ответ
Я также сталкиваюсь с той же проблемой сделать поворот за углом, но не получил ответа.
Наконец, я сделал это по-другому, я сделал фон таблицы прозрачным и добавил изображение.png файлов круглого угла 4 пикселя(что я хочу показать) сразу за представлением таблицы.
Таким образом, я показал таблицу с круглым углом. Надеюсь, что это решение работает для вас.