UITabBarItem 内的图像位置

Posted

技术标签:

【中文标题】UITabBarItem 内的图像位置【英文标题】:Image position inside UITabBarItem 【发布时间】:2012-09-15 12:38:13 【问题描述】:

我正在使用代码来显示带有项目的 UITabBar,我下载了一个示例,该示例显示带有“收藏夹”“联系人”系统图标的项目...

UITabBarItem *favorites = [[UITabBarItem alloc] initWithTitle:nil image:a1 tag:0];
UITabBarItem *topRated = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemTopRated tag:1];
UITabBarItem *featured = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:2];
UITabBarItem *recents = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemRecents tag:3];

我想使用我自己的图片,所以我更改了第一行(收藏夹),但是当我设置它时,图片从中间开始,并且总是在标题的小地方,即使它是空的。

如何控制这些项目中的图像位置?并禁用空标题位置?

【问题讨论】:

tabBar 的任何例子?? 【参考方案1】:

这是一个相当老的问题,但即使是老问题也需要爱 :)

因此,如果您仍然遇到此问题,您可以使用UIViewControllers 标签栏项目图片插图:tabBarItem.imageInsets

您在视图控制器上设置它,您将分配给标签栏控制器的viewControllers 属性。

这是一个子类标签栏控制器的快速版本,它将始终确保所有图像都对齐得更低。

override func setViewControllers(viewControllers: [AnyObject], animated: Bool) 
    super.setViewControllers(viewControllers, animated: animated)

    let array = viewControllers as! [UIViewController]
    for controller in array 
        controller.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0)
    

【讨论】:

以上是关于UITabBarItem 内的图像位置的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 UITabBar 内的 UITabBarItem(s)

UITabBarItem 更改图像高度和宽度

UITabBarItem 图像颜色为灰色,而原始图像为白色

更改默认“未选择”UITabBarItem 图像颜色

更改 UITabBarItem 图像的颜色

如何在 UITabbaritem 上设置图像?