تغيير برمجيا الحالة المميزة لـ uitabbaritem - الهدف ج

StackOverflow https://stackoverflow.com/questions/4104549

سؤال

أود أن أعرف كيفية جعل uitabbaritem يتم تسليط الضوء عليها عندما أختار القيام بذلك في البرنامج. هل هذا ممكن؟

شكرًا

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

المحلول

يمكنك تغيير علامة التبويب التي تم تحديدها - والتي تغير أيضًا تسليط الضوء - بسهولة:

tabcontroller.selectedIndex = youNewIndexHere;

إذا كان TabController الخاص بك في مندوب التطبيق (وهو الحال إذا استخدمت قالب تطبيق Tab Bar عند إنشاء مشروعك) ، فسيبدو شيئًا من هذا القبيل:

ProjectNameAppDelegate *appDelegate = (ProjectNameAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate tabcontroller].selectedIndex = youNewIndexHere;

نصائح أخرى

يعمل Tabbar إذا كنت تعرف الفهرس واكتبه على هذا النحو:

NSMutableArray *item [[NSMutableArray alloc] init];

[items addObject: [[[UITabBarItem alloc] initAsULike] autorelease]; <--- init as you like here

...

[tabBar setItems:items animated:FALSE];

tabBar.selectedItem = [items objectAtIndex: your_index]; <--- write your index here
[items release];

لقد حصلت على uitabbar ، تم إنشاؤها في IB ولكن بدون TabbarController. في بلدي Awakefromnib أنا فقط أهيئته إلى العنصر الأول مثل هذا:

[self.tabBar setSelectedItem:[[self.tabBar items] objectAtIndex:0]];

لا تنسى ، لا يتم استدعاء uitabbardelegate didselectiTem في هذه الحالة.

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