سؤال

لدي NSView حيث يمكن للمستخدم رسم دوائر. يتم تخزين هذه الدوائر كصفيف من nsbezierpaths، وفي ورشة: أنا حلقة من خلال الصفيف والاتصال -stroke على كل من المسارات. كيف يمكنني إضافة زر للتكبير والتكبير عبر NSView؟ فقط تغيير حدود الرأي؟

شكرًا.

هل كانت مفيدة؟

المحلول

نصائح أخرى

قد تجد أيضا هذا بالمعلومات:

https:/developer.apple.com/library/content/qa/qa1346/_index.html.

يتيح لك التعليمات البرمجية في هذا المستند إضافة خاصية "مقياس" إلى طريقة عرض.

الإجابات المذكورة أعلاه لا تعمل من أجل سيناريو لكنها قادني إلى حل.

كان الرابط المحدث بجواب @ بيتر مفيدا: scaleunitsquaretosize.

لقد وجدت دوران للتاليا للتكبير:

  1. اقتصاص الحدود يدويا
  2. فرع الحدود مع 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top