ズームにNSView
-
20-09-2019 - |
質問
いNSViewのユーザーを描くことができます。これらの家族への取組みとして格納された配列のNSBezierPaths、drawRect:っループの配列を呼び出 -stroke
それぞれのパス。い追加ボタンを拡大/縮小することができます。にNSView?を変えるだけの限界のとおりです。
感謝。
解決
お送りビュー a scaleUnitSquareToSize:
メッセージ.
他のヒント
また、この有益を見つけるかもしれません
https://developer.apple.com/library/content /qa/qa1346/_index.htmlする
は、その文書内のコードを使用すると、ビューに「スケール」プロパティを追加することができます。
上記の答えは私のシナリオでは機能しませんでしたが、解決策につながりました。
@Peterの回答への更新されたリンクは役に立ちました: スケール単位正方形からサイズまで
ズームに関する 2 つの方法を見つけました。
- 境界を手動でトリミングする
- 境界をスケーリングする
scaleUnitSquareToSize
小さなテストプロジェクトを作成しました。どちらのソリューションも私の GitHub リポジトリにあります。 境界とフレームクロッピングとスコーリング
境界とフレームを理解するには、この SO 記事を読んでください。 フレームと境界の差.
迅速な呼び出しコード:
let scaleSize = NSSize(width: 0.5, height: 0.5)
// 0.5 - Half the size
// 1.0 - No calling
// 2.0 - double the size , ... etc
myView?.scaleUnitSquare(to: scaleSize)
myView?.needsDisplay = true
所属していません StackOverflow