سؤال

كيف يمكنني اكتشاف نهاية الرسوم المتحركة لعرض مشروط (عندما أقوم بإلغاء)؟ (أنا أتحدث عن mfmailcomposeviewController الذي لم يتم إنشاؤه بنفسي ...)

شكرًا

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

المحلول

يحتوي وحدة التحكم في العرض الوسيطة على ملف -viewDidDisappear: الطريقة التي يتم الاحتجاج بها تلقائيًا كلما تمت إزالة العرض من الشاشة. يمكنك تجاوز هذه الطريقة في وحدة تحكم العرض الوسائط الخاصة بك للقيام بكل ما تريد.

أيضًا ، قد ترغب في التفكير في تنفيذ -viewDidAppear: الطريقة في وحدة التحكم في العرض التي يتم الكشف عن عرضها من خلال عرضك المشروط الذي يختفي.

نصائح أخرى

يمكنك الفئة الفرعية mfmailcomposeviewController -viewDidDisappear:.

@interface MyCtrler : MFMailComposeViewController
@end
@implementation MyCtrler
-(void)viewDidDisappear:(BOOL)animated {
   [super viewDidDisappear:animated];
   // do anything you like
}
@end

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

كان أسهل وجدته هو تأخير رمزتي مع nstimer. عندما يستدعي Modal View مندوبها ويستدعي المندوب إزالة العرض المشروط ، فإنه يقوم أيضًا بتصوير الكود المراد تشغيله عند اختفاء العرض الوسيط. كان التوقيت مثل 300 مللي ثانية أو 400 مللي ثانية. (هل هناك طريقة لاسترداد التوقيت الفعلي من مكان ما؟)

عادةً ما يتم إخطاره عند اكتمال الرسوم المتحركة ، تقوم بتعيين مندوب عن طريق الإرسال setAnimationDelegate: إلى فئة Uiview.

عندما يتم رفض VC باستخدام [someVC dismissModalViewControllerAnimated:YES] لا يمكنك تعيين مندوب الرسوم المتحركة ، ولكن إذا لم ترسل بدلاً من ذلك وقمت بالرسوم المتحركة الخاصة بك من عرض VC لك يستطيع قم بتعيين المندوب وإخطاره عند اكتمال الرسوم المتحركة.

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