سؤال

أي فكرة لماذا هذا يعمل:

[[[[[self tabBarController] tabBar] items] objectAtIndex:2] 
                                          setBadgeValue:@"Hello"];

لكن هذا لا؟

[[self tabBarItem] setBadgeValue:@"Hello"];

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

شكرًا.

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

المحلول

هل تاباريتيم تشير إلى هناك بالفعل عنصر في TabbarviewController؟ إذا لم يكن ذلك ، فهناك مشكلتك. يمكنك معرفة فهرس ViewController الخاص بك لأن u تحدد الطلب عند تعيين وحدات التحكم في العرض في TabBarViewController ، لذلك إذا قمت بتعيين ViewController أولاً في TabBarViewController ، فسيحتوي زره على فهرس 0.

مع تعليقك ، أصبح سؤالك أكثر وضوحًا بالنسبة لي ، كما ذكر الرد ، ربما بمجرد تعيين UITabBarController ViewController ، فإنه يمسك بـ TabbarItem ويتغير لاحقًا على خاصية ViewController هذه )

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