سؤال

أرغب في تنفيذ حدود مربع الحوار هذا الحجم إلى الحجم الذي أتطلب حوار الحوار. ربما هناك اسم أفضل تقليدي لهذا النوع من الأشياء. إذا كان هناك ، إذا قام شخص ما بتحرير العنوان ، فسيكون ذلك رائعًا.

على أي حال ، أود أن أفعل ذلك حتى أتمكن من الحصول على حوار من أي حجم بدون القطع الأثرية البصرية التي تأتي مع تحجيم الفن الحدودي إلى dimentions الصغيرة أو الكبيرة أو الغريبة. لديّ بعض الأفكار حول كيفية القيام بذلك ، لكنني لست متأكدًا من أفضل لأجهزة iPhone. لدي بضعة أسئلة.

1) هل يجب أن أقوم بعمل كائن عرض يحتوي على تحميله بشكل أساسي في طريقة السحب ويسحب الصور حيث يجب أن تكون على نطاق المناسب عندما يتم استدعاء الطريقة ، أو هل يجب أن أقوم بتوجيه كائن عرض يحتوي ببساطة على 8 UiimageViews؟ أظن أن النهج الأخير لن يعمل إذا كنت بحاجة إلى توسيع نطاق فئة الحوار الناتجة بنشاط كما في الرسوم المتحركة.

1 ب) إذا كان السحب الزائد هو السبيل للذهاب ، فهل لدى شخص ما بعض رمز العينة أو رابط إلى مثال يوضح رسم صورة مباشرة من DrawRect ()؟

2) هل من الأفضل أن تخلق عمومًا

أ) صورة 3 × 3 حيث توجد الأجزاء في شبكة 1 × 1 المناسبة للصورة؟ إذا كان الأمر كذلك ، فهل من السهل الاستخلاص من جزء من هذه الصورة على عرض الهدف الخاص بي في DrawRect (إذا كان الافتراض السابق صحيحًا أنه يجب علي استخدام Drawrect)؟

ب) القطع بشكل منفصل في 8 ملفات مختلفة؟

تحديث: للتوضيح ، تتمثل الفكرة في أخذ أي فن حدود مخصص وتكون قادرة على تمديد الخلية الثانية والرابعة والسادسة والثامنة (في شبكة 3 × 3 خلايا) لتشكيل حدود من أي حجم مع تلك الأصول فقط. إن امتداد صورة واضحة سيؤدي إلى تشويه الزوايا ، لذلك أود أن تمدد تلك الخلايا المرقمة حسب الحاجة والوقوف على الزوايا لذلك لا يوجد تشويه. لقد رأيت هذا تم إنجازه من قبل ، لذا فقد اعتقدت أنه قد يكون شيئًا قياسيًا ولديه تسمية قياسية بخلاف ما أسميته.

على أي حال ، تم إخباري بأن إضافة 8 مناظر UIImageViews إلى حاوية لن تكون فعالة مثل رسم UIImages على الطيران في القسطرة ، لذا اتخذت هذا النهج باستخدام CGContextDrawImage () بعد تطبيق التحولات اللازمة على السياق لترجمة وتوسيع نطاقه لأن Y. تستمد هذه الوظيفة من الزاوية اليسرى السفلية من الصورة ولكن على UIVIEW من أعلى اليسار ، تكون الصورة رأسًا على عقب بدون عكس محور Y. لقد لاحظت الاقتراح لاستخدام وظائف Uiimage مثل DrawatPoint تعمل بشكل جيد وبالمثل ولكن للعكس لأن UIImage يرسم في نفس الاتجاه مثل UIViews. سأواصل تنفيذي مع السابق وأرى كيف ستسير الأمور ، ولكن سؤال آخر.

هل سيحدث شخص ما أن يعرف أي من هذه الأساليب أكثر فاعلية ، أسرع ، إلخ؟

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

المحلول

لست متأكدًا من أنني أتابع ، لكن هذه أفضل لقطة لي في إجابة ...

باستخدام DrawRect: أو إضافة Version UiimageViews إلى طريقة عرض الوالدين متروك لك تمامًا. يمنحك UiimageView بعض الوظائف المغلفة مجانًا ، ولكنها على خلاف ذلك ، فهي كما هي الحال في المظاهر.

إذا كنت ترغب في السير في مسار DrawRect ، فأنت بحاجة فقط إلى استخدام نقطة رسم Uiimage: الطريقة. قم بالرياضيات من أجل المكان الذي تريده ، ورسمه. يمكنك حساب النقاط الخاصة بك بناءً على أبعاد عرض الوالدين.

بقدر التحجيم ، من المستحيل تغيير حجم هذه الصور دون تحجيمها ، لذلك أخطط للأمام وجعل النسخ الأصلية الخاصة بك أكبر أو أكبر مما تتوقع عرضها.

أتمنى أن يساعد ذلك قليلاً؟

هتافات

نصائح أخرى

إذا كنت تريد حدود في مربع حوار ، على افتراض أن المربع هو UIVIEW (أو الفئة الفرعية) ، فقم بتعيين خصائص الحدود للطبقة واترك النظام يرسم الحدود لك.

#import <QuartzCore/QuartzCore.h> 
// ... 

view.layer.borderWidth = 2;
view.layer.borderColor = [UIColor whiteColor].CGColor; 
view.layer.cornerRadius = 0;  // 0=square corners, >0 for rounded
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top