سؤال

لدي وحدة تحكم عرض تمت إضافتها إلى UITabBarController. في وحدة التحكم في العرض هذه ، لدي زر يفتح فيلمًا باستخدامه MPMoviePlayerViewController.

عندما أقوم بتشغيل الفيلم ، لا يزال شريط التنقل العلوي متشابكًا في أعلى الفيلم ، مما يمنع جزءًا من الشاشة بشكل فعال.

عندما لا تكون وحدة تحكم العرض هذه داخل UITabBarController, ، ومع ذلك ، يلعب الفيلم بشكل جيد.

هل يعلم احدكم ماذا يحدث؟

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

المحلول

اكتشفه. أعتقد أن الأمور تصبح متزعزعًا لأن MPMoviePlayerViewController تمت إضافة طريقة كفئة إلى UIViewController اتصل presentMoviePlayerViewControllerAnimated:. عادة ما تسميها هكذا في UIViewController:

[self presentMoviePlayerViewControllerAnimated:mp];

ولكن في هذه الحالة ، إذا قمت بإضافة وحدة التحكم في العرض إلى أ UITabBarController كومة، self هو وحدة تحكم العرض الخاصة بك داخل وحدة تحكم شريط علامة التبويب ، وأعتقد أن هذا يجعل الأمور مروعة. الإصلاح هو الاتصال presentMoviePlayerViewControllerAnimated: مع وحدة التحكم في عرض الوالدين ، والتي كانت في حالتي أخرى UIViewController كان هذا الإسكان UITabBarController. لقد أشرت ببساطة إلى عرض الوالدين وأضفته إلى وحدة تحكم العرض الخاصة بي init الطريقة ، ثم تسمى شيء مثل [parentController presentMoviePlayerViewControllerAnimated:mp].

يا للعجب. أتمنى أن يساعد ذلك شخص ما.

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