تغيير برمجيا الحالة المميزة لـ uitabbaritem - الهدف ج
-
29-09-2019 - |
سؤال
أود أن أعرف كيفية جعل 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 في هذه الحالة.
لا تنتمي إلى StackOverflow