J'ai un nsview dans lequel l'utilisateur peut dessiner des cercles. Ces cercles sont stockés comme une matrice de nsbezierpaths et, dans le drawrect:, je boucle à travers le tableau et appelez Merci. P> -Stroke code> sur chacun des chemins. Comment ajouter un bouton pour zoomer et sortir le NSView? Juste changer les limites de la vue? P>
3 Réponses :
Envoyez votre vue A ScaleUnitsQuetosize: code> Message
. P>
Veuillez mettre à jour le lien. Vous pouvez utiliser le lien fourni par ma réponse.
Vous pouvez également trouver cet informatif: p>
https://developer.apple.com/library/content /qa/qa1346/_index.html p>
Le code dans ce document vous permet d'ajouter une propriété "balance" à une vue. P>
Les réponses ci-dessus n'ont pas fonctionné pour mon scénario mais m'ont amené à une solution.
Le lien mis à jour à la réponse @ Peter a été utile: ScaleUnitsQuaretosize P>
J'ai trouvé deux soultions pour zoomer: P>
échecunitsQuaTosize code> li>
ol> J'ai créé un petit projet de test. Les deux solutions peuvent être trouvées sur My GitHub Repo: limitesAndframesCroppingPanking P>
Pour comprendre les limites VS Cadres Lisez ceci à cet article:
Code Sclabling Swift: P>
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