سؤال

وأنا بحاجة لفتح برمجيا علامة تبويب معين في شريط التبويب بلدي.

وحاولت استدعاء الأسلوب التالية من وجهة نظري UITabBarController:

self.selectedViewController = myVController;

والذي لا يعمل.

ما هي الطريقة الصحيحة لفتح علامة تبويب؟

وشكرا لكم.

تحديث: حاولت التعليمات البرمجية التالية:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

والذي يفتح لي علامة تبويب مرغوب فيه (يتم تحديده)، ولكن لم يتم تحديث طريقة العرض النشطة.

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

المحلول

وفيما يتعلق الملكية selectedIndex، وتقول مستندات أبل:

<اقتباس فقرة>   

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

وربما كان هذا مشكلتك؟

واحد الحلول الممكنة هو استخدام UITabBar الخاصة بك والتعامل مع وجهات النظر الخاصة بك. ثم يمكنك أن تفعل شيئا من هذا القبيل:

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];

ومجرد تنفيذ UITabBarDelegate وتحديد هذه الوظيفة للحصول على رسائل اختيار البند يدويا والتبديل بين طرق العرض. (على الرغم من أن إذا كنت تستخدم ميزات متقدمة UITabBarController أنه قد لا يكون من المفيد ما تبذلونه من جهد.)

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{

}

نصائح أخرى

والطريقة لقد فعلت ذلك لاستخدام self.tabBarController.selectedIndex = 1 (علامة التبويب الأول في الفهرس 0).

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