1

Objective-C で NSRect 要素に角を丸くする簡単な方法はありますか? 現在、コーナーをシミュレートする PNG 画像をこれに適用しています。

NSRect newFrame = NSMakeRect(0, 0, size.width, size.height);

ただし、この NSRect のインスタンスが多く、Core Animation でレンダリングされている画像があるため、パフォーマンスが問題になります。おそらく、パフォーマンスの観点からは、丸みを帯びたエッジを持つネイティブ NSRect をレンダリングする方が良いでしょうか? Core Animation でレンダリングすると、エッジは滑らかに見えますか (アンチエイリアス)?

4

1 に答える 1

3

NSRectはNSPointとNSSizeを含む構造体であるため、NSRects(つまり、NSViewのサブクラス)を受け入れるものを意味すると思います。すべてのNSViewサブクラスレイヤーは-cornerRadiusに適切に応答します(NSScrollViewに関するものを除く)。

self.view.layer.masksToBounds = YES;
self.view.layer.cornerRadius = 10.0;
于 2012-05-13T06:33:42.473 に答える