العمل مع فصول iPhone OS 3.2 فقط
-
03-10-2019 - |
سؤال
كيف يمكنك كتابة تطبيق عالمي يستخدم الفصول التي تم تقديمها في iPhone OS 3.2 ، مثل UIPopoverController
و UISplitViewController
؟ على مدونة Jeff Lamarche حول هذا الموضوع ، يوفر Ole طريقة لتشكيل هذه الكائنات ؛ سوف تقوم بتثبيت أ UIPopoverController
مثل ذلك: [NSClassFromString(@"UIPopoverController") alloc]
.
هذا جيد لتشكيل هذه الفئات في الكود ولكن ماذا عن البروتوكولات وأساليبها؟ يستخدم تطبيق iPad الخاص بي UISplitViewController
ولديه فئة تحتاج إلى الامتثال ل UISplitViewControllerDelegate
و UIPopoverControllerDelegate
. كيف تعلن هذا؟ وكيف ستعمل مع طريقة مثل ما يلي؟
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
حيث تتطلب استدعاء الطريقة UISplitViewController
ليتم نقلها؟
المحلول 2
ومثل هذا ، أرى أن هذه ليست مشكلة إذا كنت ضعيفة ارتباط إطار UIKIT. لقد وجدت هذا هنا مكدس فائض.
نصائح أخرى
يمكنك تركها هناك ، لأن هذه UISplitViewController*
الخدم فقط بمثابة نوع للمترجم للقيام بالتحقق من النوع (على عكس [UISplitViewController alloc]
أي رمز فعلي يحتاج إلى ربط).
أضف @class UISplitViewController, UIPopoverController;
في بداية الملف إذا لم يتم تجميعه.