Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在UITabBarController中修改标题和徽章图标_Iphone_Objective C - Fatal编程技术网

Iphone 如何在UITabBarController中修改标题和徽章图标

Iphone 如何在UITabBarController中修改标题和徽章图标,iphone,objective-c,Iphone,Objective C,我有以下代码: tabBarViewController = [[TabBarViewController alloc] init]; mvc = [[MapViewController alloc] init]; tvc = [[TableViewController alloc] init]; tabBarViewController.viewControllers = [NSArray arrayWithObjects: tvc, mvc, nil]; 然而,当在模拟器中打开时,我没有看

我有以下代码:

tabBarViewController = [[TabBarViewController alloc] init];
mvc = [[MapViewController alloc] init];
tvc = [[TableViewController alloc] init];
tabBarViewController.viewControllers = [NSArray arrayWithObjects: tvc, mvc, nil];

然而,当在模拟器中打开时,我没有看到这两个UtiAbar的任何头衔或徽章。如何将标题和徽章分配给这两者?

TabBarViewController的UITabBar有一个属性。
UITabBar拥有拥有徽章的UITabBarItem列表

[tabBarViewController.tabBar.items objectAtIndex:0].badgeValue = @"1";

TabBarViewController的UITabBar有一个属性。
UITabBar拥有拥有徽章的UITabBarItem列表

[tabBarViewController.tabBar.items objectAtIndex:0].badgeValue = @"1";

必须设置每个子视图控制器的tabBarItem属性:

MapViewController* mvc = [[MapViewController alloc] init];
UIImage* mapIcon = [UIImage imageNamed:@"mapIcon.png"];
mvc.tabBarItem = [[[UITabBarItem alloc] initWithTitle:@"Map" image:mapIcon tag:0] autorelease];
mvc.tabBarItem.badgeValue = @"abc";

TableViewController* tvc = [[TableViewController alloc] init];
tvc.tabBarItem = [[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:0] autorelease];
mvc.tabBarItem.badgeValue = @"100";

必须设置每个子视图控制器的tabBarItem属性:

MapViewController* mvc = [[MapViewController alloc] init];
UIImage* mapIcon = [UIImage imageNamed:@"mapIcon.png"];
mvc.tabBarItem = [[[UITabBarItem alloc] initWithTitle:@"Map" image:mapIcon tag:0] autorelease];
mvc.tabBarItem.badgeValue = @"abc";

TableViewController* tvc = [[TableViewController alloc] init];
tvc.tabBarItem = [[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:0] autorelease];
mvc.tabBarItem.badgeValue = @"100";

为什么不在tvc、mvc中使用此代码

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization

  self.tabBarItem = [ [ UITabBarItem alloc ]
         initWithTitle:@"YOUR TITLE"
         image:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"IMAGE" ofType:@"png"]]
         tag:1 ];

    }
    return self;
}

为什么不在tvc、mvc中使用此代码

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization

  self.tabBarItem = [ [ UITabBarItem alloc ]
         initWithTitle:@"YOUR TITLE"
         image:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"IMAGE" ofType:@"png"]]
         tag:1 ];

    }
    return self;
}