سؤال

لديّ Uiview أصغر من الرؤية الإشراف حتى أتمكن من تمثيل هذا العرض كعرض مشروط عند النقر فوق الزر.

لقد تمكنت من القيام بما يلي: * إضافة عرض فرعي إلى المشرف. * تركزت هذه النظرة المشروطة

أحاول الآن جعل العناصر خلف Uiview غير قابلة للاشمئزاز. وأضف أيضًا ظلًا رماديًا من وجهة نظري الوسيطة بحيث يفهم المستخدم أن العرض المشروط هو العرض في التركيز.

أود أن أعرف كيفية تحقيق ذلك.

لا أرغب في استخدام انتقال عرض العرض التقديمي. أنا أعرف وقد نفذت هذا بالفعل في مشاريع أخرى. أي مساعدة موضع تقدير.

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

المحلول

أبسط شيء هو وضع شاشة ملء UIView مع خلفية رمادية شفافة خلف عرض "مشروط". ثم سوف يعترض كل اللمسات. قد يبدو شيئًا كهذا:

UIView *dimBackgroundView = [[UIView alloc] initWithFrame:theSuperview.bounds];
dimBackgroundView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:.5f];

[theSuperview addSubview:dimBackgroundView];
[theSuperview addSubview:modalView];

للرجوع إليها في المستقبل ، يمكنك ضبط myView.userInteractionEnabled = NO لتعطيل الأحداث التي تعمل باللمس على عرض.

نصائح أخرى

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

إنشاء مثيل var:

UIView* backgroundView;

وكلما احتجت إليها ، ضعها وراء عرضك المخصص:

if (backgroundView == nil)
        backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width)];
backgroundView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:.5f];
[self.view addSubview:backgroundView];
[backgroundView animateBump:customView.view];
[backgroundView addSubview:customView.view];

عندما لا تحتاجها بعد الآن

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