سؤال

في iPhone OS 3.0، يمكنك تعيين عناصر شريط الأدوات من UINAVICTONTroller باستخدام setToolbarItems:animated: طريقة. ومع ذلك، فإن هذا يتطلب منك المرور في صفيف من UITOOLBARITEMS. بينما يمكنني إنشاء عناصر شريط الأدوات هذه برمجيا، فأفضل إنشاءها في باني واجهة إن أمكن.

مع وضع ذلك في الاعتبار، قمت بإنشاء UITOOLBAR في "MyGreatViewController.xib" واكتغلته مع عناصر شريط الأدوات المطلوبة. ثم، في "myjegerviewtroller.m"، أحصل على العناصر من شريط الأدوات وتمريرها إلى setToolbarItems:animated::

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setToolbarItems: [toolbar items]];
}

...أين toolbar هو iboutlet يشير إلى UITOOLBAR.

هذا هو نهج جيد؟ هل هنالك طريقة افضل لانجاز هذا؟ هل يجب علي مجرد إنشاء العناصر برمجيا؟

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

المحلول

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

نصائح أخرى

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

على سبيل المثال، إليك ما يمكننا القيام به (باستخدام Xcode 3.2 على Snow Leopard):

  1. ملف-> مشروع جديد .... اختر تطبيق القائم على الملاحة وإنشاء المشروع.
  2. افتح MainWindow.xib في واجهة باني.
  3. حدد وحدة تحكم التنقل، وفي مفتش السمات، تحقق من مربع "Ophen Toolbar". سيؤدي ذلك إلى ظهور كائن شريط أدوات.
  4. اسحب عنصر زر شريط من المكتبة إلى شريط الأدوات. سيظهر في شريط الأدوات. إذا قمت بالتحقق من التسلسل الهرمي في المنصوصية، فسترى أن هذا العنصر الجديد هو طفل RootViewController.

يبدو أن أي عناصر زر شريط تمت إضافة كأطفال من عنصر التنقل سيظهر في شريط التنقل، وأي عناصر زر شريط تمت إضافته كأطفال من وحدة تحكم العرض سيظهر في شريط الأدوات.

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

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