4
//TabBarController code:

self.delegate=self;
self.tabBarController.tabBar.delegate=self;

CGRect viewFrame=self.tabBar.frame;
viewFrame.origin.y -=0;![enter image description here][1]
viewFrame.origin.x -=0;
viewFrame.size.height=30;
self.tabBar.frame=viewFrame;

firstViewController = [[FirstViewController alloc] initWithNibName:nil bundle:NULL];
secondViewController = [[SecondViewController alloc] initWithNibName:nil bundle:NULL];

NSArray *twoViewControllers = [[NSArray alloc] initWithObjects:
                                       self.firstViewController, self.secondViewController, nil];

self.viewControllers=twoViewControllers;



//    ====================================================
//    
//    FirstViewController code in initWithNibName: 
//    
//    To set the title of the first tabbar item:


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = @"Article view";
        NSLog(@"count = %d",[self.tabBarController.tabBar.items count]);

    }
    return self;
}

//如何在不向 tabbaritem 添加任何//图像的情况下将第一个标签栏项目标题“文章视图”设置为中心?

// 类似于下面的标签栏项目截图。

  [1]: http://i.stack.imgur.com/xBpVH.png


Thanks in advance.
4

1 回答 1

14

替换initWithNibName方法

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = @"Article view";
        self.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
        NSLog(@"count = %d",[self.tabBarController.tabBar.items count]);
    }
    return self;
}

self.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);此处的这一行以以下方式调整 tabBarItem 的图像位置:

从默认位置沿 x 方向“+5”和 y 方向“-5”移动图像。

玩,UIEdgeInsetsMake玩得开心。干杯。

于 2013-02-11T12:36:56.560 回答