iphone شرح منشئ واجهة IP: Z-Index ، Z-order لزر ، صورة ، عنصر واجهة المستخدم ، وما إلى ذلك؟




z-index شرح (6)

أنا أسحب الأشياء في منشئ واجهة ... أود تحديد ما إذا كانت الصورة أمام (مثل مؤشر) أو خلف زر (مثل خلفية). لا أرى أي خاصية فهرس z حيث اعتدت رؤيتها في بيئات أخرى. إذا لم يكن هناك خاصية فهرسة z ما هي أفضل طريقة للذهاب حول ما أحاول تحقيقه؟ شكر!


ما نجحني كان القيام به في الكود:

self.view.sendSubviewToBack(imageView);

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


في XCode 4.6 Interface builder ، قم بإظهار "Document Outline" بواسطة القائمة (Editor-> Show Document Outline) أو النقر فوق الزر الشفاف في الزاوية السفلية اليسرى من اللوحة. تحت قائمة "الكائنات" ، يتم عرض ترتيب Z للآراء ويمكن للمستخدم سحبها لتغيير الترتيب بين بعضها البعض. كلما اقتربنا من الجزء السفلي من الشاشة ، يكون العنصر "الأقرب" هو المستخدم.


في تطوير XCode ، يكون عنصر واجهة المستخدم أو "عرض" أمام عرض آخر عندما يكون عرضًا فرعيًا لذلك العرض. على سبيل المثال ، إذا كان العرض B عبارة عن خلفية وعرض C هو عنصر تحكم ، لوضع عنصر التحكم فوق الخلفية (أي أقرب إلى المستخدم) ، فستجعل العرض C نظرة فرعية لطريقة العرض B. في Interface Builder ، يتم تحقيق ذلك بواسطة سحب السيطرة في الخلفية.

بشكل أساسي ، أنت تنظر إلى بنية شجرية ، حيث تكون المشاهدات في الخلفية بالقرب من جذر الشجرة ، وتكون المشاهدات في المقدمة (أقرب إلى المستخدم) بالقرب من أوراق الشجرة.

قد يساعدك المستند " Windows" و "طرق العرض" من وثائق مطوّري برامج Apple الخاصة بأجهزة iPhone في توضيح الأمور.

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

ملاحظة 2: إذا كنت تحتاج ، لسبب ما ، إلى أشياء تتداخل بطريقة معينة ، يمكنك استخدام كائنات CALayer للحفاظ على كل شيء بشكل صحيح. تعد كائنات CALayer جزءًا من تقنية Apple Core Animation.


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


لقد حققت ما أردت من خلال النقر على عنصر واجهة المستخدم (زر ، صورة ، نص ، إلخ) والانتقال إلى قائمة التخطيط (في الجزء العلوي من الشاشة) ثم استخدمت "إحضار إلى الأمام" ، "إرسال إلى الخلف" ، إلخ .

في Xcode 4.2 ستجد الخيارات في أعلى القائمة: Editor-> Arrange


في سويفت:

ضمن العرض الذي تريد إحضاره إلى القمة

     superview?.bringSubviewToFront(self)




interface-builder