subviews الوصول برمجيا من UIView المضافة في واجهة البناء

StackOverflow https://stackoverflow.com/questions/667807

  •  21-08-2019
  •  | 
  •  

سؤال

ولدي ملف بنك الاستثمار القومي حيث لدي وجهة نظر يحتوي على صورة خلفية على زر وصورة أخرى التي تغطي كامل الشاشة (الظل) التي تحتاج إلى نقلها إلى الأمام. على طريقة العرض، أنا خلق وجهات النظر الطفل، وبعد إنشاء تلك وإضافتها باستخدام [self addView] أنا بحاجة للانتقال إلى جبهة صورة الظل.

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

وأنا يحاول إضافة IBOutlet لربط subview مع الأم، لكنها لم تنجح (وجعلنا لا معنى له، لأن subview متصلا بالفعل إلى الأم في بعض الطريق).

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

المحلول

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

نصائح أخرى

واي فون يقوم تحميل كسول وحدات تحكم الرأي. قد لا يكون تم تحميل بنك الاستثمار القومي في initWithCoder أو أي طريقة الحرف الأول لهذه المسألة كما كيندال المحدد.

وviewDidLoad هو المكان المفضل للوصول إلى أي شيء من بنك الاستثمار القومي إذا كنت ترغب في الوصول إليها قبل أن يتم عرض طريقة العرض.

وعلى أمل أن يساعد.

ما هي النقطة التي تحاول الوصول إلى subviews؟ إذا حاولت ضمن الحرف الأول من ViewController، فإن IBOutlets يكون صفرا. الطريقة الأولى يمكنك الحصول عليهم وربما viewDidLoad.

والسبب أنه لا معنى لفعل الأشياء بهذه الطريقة هو أن IBOutlets ليست سوى مؤشرات مباشرة لبعض العناصر، حتى لو كانوا بالفعل subviews من شيء آخر. فقط يوفر الكثير من الصيد.

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

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