التكبير في NSView
-
20-09-2019 - |
سؤال
لدي NSView حيث يمكن للمستخدم رسم دوائر. يتم تخزين هذه الدوائر كصفيف من nsbezierpaths، وفي ورشة: أنا حلقة من خلال الصفيف والاتصال -stroke
على كل من المسارات. كيف يمكنني إضافة زر للتكبير والتكبير عبر NSView؟ فقط تغيير حدود الرأي؟
شكرًا.
المحلول
إرسال رأيك أ scaleUnitSquareToSize:
رسالة.
نصائح أخرى
قد تجد أيضا هذا بالمعلومات:
https:/developer.apple.com/library/content/qa/qa1346/_index.html.
يتيح لك التعليمات البرمجية في هذا المستند إضافة خاصية "مقياس" إلى طريقة عرض.
الإجابات المذكورة أعلاه لا تعمل من أجل سيناريو لكنها قادني إلى حل.
كان الرابط المحدث بجواب @ بيتر مفيدا: scaleunitsquaretosize.
لقد وجدت دوران للتاليا للتكبير:
- اقتصاص الحدود يدويا
- فرع الحدود مع
scaleUnitSquareToSize
لقد أنشأت مشروع اختبار صغير. يمكن العثور على كلا الحلول على repo github الخاص بي: BoundSandFrameCrappingAndScalling.
لفهم حدود مقابل إطارات قراءة هذا المقالة الفرق بين الإطار والحدود.
Swift Scalling Code:
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