NSView class documentationには、描画コマンドによって結果が生成されるかどうかを示すシンボルcanDraw
があります。そう、いつでもあなたは「Cannot assign to property: 'canDraw' is a get-only property
」を述べビルド時のエラーを取得し、NSViewインスタンスプロパティを設定する方法
@IBOutlet weak var myView: NSView!
その後、myView.canDraw = true
ような何かを試してみてください -
宣言がvar canDraw: Bool { get }
です。しかし、私のビューにNSRectを描画したい場合は、どうすればこのプロパティを変更できますか?
変更しないでください。ドキュメントを読む!この瞬間にあなたが文脈を持っているかどうかを報告しています。描画を担当したい場合は、 'draw'メソッドを実装するだけです。 https://developer.apple.com/reference/appkit/nsview/1483686-draw – matt
@matt私は 'draw'メソッドを実装しようとしましたが、何も変更は見られませんでした。だから私は' canDraw'は偽でした。私の悪い。私は引き分けで引き分けます。 –
OK、あなた自身に尋ねる必要があります。なぜなら、 'canDraw'はfalseです。ドキュメントは、次のように述べています。「ビューオブジェクトは、非表示でも画面上に描画できます。ウィンドウ内のビュー階層(NSWindow)にアタッチされており、ウィンドウには対応するウィンドウデバイスがあります。私の推測では、あなたのビューオブジェクトはそれらの基準を満たしていないということです。 – matt