وظيفة الاتصال من Popover
-
20-09-2019 - |
سؤال
حسنًا ، لقد صنعت من بوبوف من وجهة نظري الرئيسية وكل تلك الأشياء الجيدة. لكنني أريد أن أتصل ببوبوفر عن إجراء في عرضي الرئيسي عند الضغط على زر داخل البوبوفر.
MainView *mainView = [[MainView alloc] initWithNibName:@"MainView" bundle:nil];
[mainView doStuff];
تعمل وظيفة "dostuff" على تغيير بعض العناصر داخل العرض. على سبيل المثال ، من المفترض أن يتم تغيير لون شريط الأدوات. لقد وضعت أمر طباعة ويتم تنفيذ الأمر المطبوع. ولكن لسبب ما ، لن يغير شريط الأدوات اللون.
- لقد استوردت رأس Mainview في البوبوفر.
- لقد فعلت ذلك class thingy لـ Mainview في بلدي popover.
- تم الإعلان عن دوستوف في رأس Mainview.
- يتم الإعلان عن Iboutlets أيضًا ، ومتصل.
أيه أفكار؟
المحلول
حسنًا ، من المخيب للآمال أنه ليس لدينا طريقة مباشرة يمكن استخدامها للتحقق من عرض (وحدة التحكم في العرض) ، يتم عرض Popover. الشيء الذي أقوم به في التطبيق المقاعد هو:
New_iPadAppDelegate *appDel = (New_iPadAppDelegate *)[[UIApplication sharedApplication] delegate];
NSArray *viewConts = [(UINavigationController *)[[appDel tabBarController] selectedViewController] viewControllers];
MainViewController *viewController = (MainViewController *)[viewConts lastObject];
if([[viewController popoverController] isPopoverVisible]){
[viewController doStuff];
}
أتمنى أن يساعدك هذا،
أعلم أن هذا ليس هو أفضل طريقة ، على أمل أن تفكر Apple في هذه المشكلة ، أو إذا كان شخص ما قد ابتكر عملًا حوله.
شكرًا،
Madhup