سؤال

يحتوي تطبيق iPhone الخاص بي على وحدة تحكم شريط علامة التبويب في الجزء السفلي من العرض - وفي الوقت الحالي، لدي ثلاثة أزرار على ذلك. ومع ذلك، أريد إضافة المزيد، ولكن القيام بذلك أحتاج إلى تحويل آخر الأزرار الثلاثة إلى زر "المزيد ..."، لأنه وإلا فإن النص الموجود على الأزرار الأخرى يعمل في بعضها البعض.

أعلم أنه إذا كان لديك أكثر من 5 أزرار في شريط التبويب، فإنه يقوم تلقائيا بإنشاء زر أكثر - ولكن هل هناك طريقة لاستدعاء هذا يدويا مع إمكانيات التحرير؟

شكرًا.

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

المحلول

ليس لديك لإنشاء زر "المزيد ..." يدويا. ما عليك سوى إضافة جميع وحدات التحكم في طريقة العرض التي تحتاجها إلى وحدة تحكم شريط علامة التبويب، وسوف تتعامل مع الباقي.

نصائح أخرى

يمكنك تعيين زر شريط آخر كزر "المزيد" حتى عندما تكون هناك ثلاثة علامات تبويب فقط. سيكون رمز التهيئة لهذا البند شريط علامة التبويب:

self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemMore tag:0];

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

إذا كنت تريد حقا القيام بذلك، يجب عليك كتابة بديل ل UITabBarController. وبعد نظرت عبر UIKit, وحتى حاول swizzling -_viewControllersInTabBar, ، ولكن يتم افتراض حد الزر الخمس في عدة أماكن في UITabBarController, ، لذلك أنت أفضل حالتك في كتابة خاصة بك.

ربما لاحظت أن بعض تطبيقات iPad، مثل YouTube، لديها أكثر من خمسة عناصر شريط تبويب: alt text
(مصدر: Apple.com.)

كيف يمكن أن يكون هذا، إذا كان UITABBARCONTROLLER مهووس للغاية مع عدم وجود أكثر من خمسة تحكم عرض؟ ربما أضافت Apple نوعا من الطريقة الخاصة إلى UITabBarController في 3.2 SDK التي يمكن أن تساعدك. ربما يطلق عليه شيء مثل -_setMaximumNumberOfItems: وربما يحدد NSUInteger مثال المتغير يسمى _maxItems. وبعد إذا قمت Apple بإضافة هذه الطريقة الخاصة، فستظل بحاجة إلى انتظار إصدار إصدار متوافق مع iPhone من 3.2 ليتم إصداره، وحتى عندئذ، باستخدام الطرق الخاصة سيئة.

تغيير أسماء علامات التبويب الخاصة بك. ليست بتلك الصفقة الكبيرة.

لذلك لا يمكن حتى جعل تطبيق شريط علامة التبويب 6 عرض؟

حتى لو كان اسم كل شخص قصير

دعنا نقول شيئا من هذا القبيل

أحمر أحمر أحمر أحمر أحمر

بدلا من الأصفر الأصفر الأصفر الأصفر الأصفر الأصفر

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