سؤال

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

وحتى لو وضع إطار وجهة النظر مشروط إلى 0، -20320480 بعد ظهور الرأي، فإنه يقطع الجزء العلوي من طريقة العرض.

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

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

المحلول

ورؤية من تعليقك أدناه التي يتم استهداف الإصدار 2.x فون OS، لدي اقتراح قد تساعد.

وقبل تقديم عرض الوسائط الخاصة بك، لا شيء من هذا القبيل:

  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
  [[self view] setFrame:CGRectMake(0, 0, 320, 480)];

تأكد من أن عرض الوسائط الخاصة بك هو في الواقع 480px طويل القامة - مرة واحدة كنت ينخدع الفضاء 20px فارغة في الأسفل. اتضح أنه بسبب وجهة نظري لا يزال 460px طويل القامة (لحساب شريط الحالة) حتى رمز يعمل فعلا، ولكن من وجهة نظري ليس ارتفاع الصحيح.

عند إخفاء عرض الوسائط الخاصة بك، وهذا يعمل:

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[[self view] setFrame:CGRectMake(0, 20, 320, 460)];

وقد تضطر إلى عبث رمز قليلا إذا كنت تستخدم presentModalViewController - حاولت هذا خارج باستخدام -addSubview لأنني كنت باستخدام الرسوم المتحركة المخصصة. ولكن المبادئ الأساسية يجب أن تكون هي نفسها (أي تغيير إطار وجهة نظر الوالدين).

نصائح أخرى

هل بحثت في في wantsFullScreenLayout الممتلكات على UIViewControllers؟

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