سؤال

وسأبدأ بالقول ما أريد القيام به لأنني غير متأكد إذا أنا أسأل السؤال الصحيح. أنا صنع الخرائط على الشبكة وانا ذاهب الى عقد مجموعة من الأشياء للحفاظ على الدولة وعرض الخريطة. سوف يكون كل كائن من فئة بلاطة. يجب أن أكون إن شاء subclasses ترث UIView أو sublass NSObject ولها ايفار من UIView. كنت أخطط أيضا أن يكون لها UIImageView داخل UIView لتحميل الصورة التي تمثل تلك القطعة من الخريطة. وأخيرا، كنت أرغب في تحميل عرض من بنك الاستثمار القومي.

وفردي أعرف كيفية القيام كل من هذه الأشياء ولكنه غير متأكد من أفضل الممارسات. أي أفكار؟

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

المحلول

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

CALayer *gridLayer = [CALayer layer];
[gridLayer setContents:(id)[gridImage CGImage]];
[gridLayer setBounds:[gridImage bounds]];

// Position the layer's center a x:25.0 y:25.0 within the view
[gridLayer setPosition:CGPointMake(25.0f, 25.0f)];

[[view layer] addSublayer:gridLayer];

ووgridImage المتغير هو UIImage * كنت قد خصصت في مكان ما. وكنت بحاجة فقط لحساب rects طبقة الخاصة بك والمواقف ووضعها وفقا لذلك.

نصائح أخرى

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

وأبسط طريقة لإنجاز شبكة لاستخدام UIImageViews أن يتم وضعه بواسطة وحدة تحكم واحدة. فإن نموذج تتبع العلاقات المنطقية بين الساحات الخريطة وتتابع ذلك للتحكم الذي سيتم تحميل الصور في UIIMageView. وحدة تحكم التعامل مع تحميل كل من بنك الاستثمار القومي.

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

إذا فهمت حق، يمكنك أن تجعل فئة فرعية من UIImageView.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top