将iOS TabBar选项卡的标题居中显示

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;
}

//如何将第一个tabbar项标题“文章查看”居中,而不添加任何图像到tabbaritem?

//类似于下面的tabbar项截图。

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


Thanks in advance.

谢谢您的问题,也感谢您的回答。 - Atef
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 的值并享受乐趣。干杯!


谢谢你帮忙,老兄。我问了你,不应该处理图片,而是改变标题的位置,问题就解决了。 - Vivek Coolboy
很高兴能够帮助到你。如果你愿意的话,请确认答案;):) - devluv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接