Tab栏背景图片有问题

时间:2017-02-20 13:50:38

标签: swift uitabbarcontroller uitabbar uitabbaritem uiimageasset

我想显示具有垂直分隔线的标签栏的背景图像。

like the one mentioned below

我在以下分辨率中有这些图像: -

1x - 320 x 49

2x - 640 x 98

3x - 960 x 147

iPhone 5正确设置了图像,并在适当的位置使用分隔线,但iPhone 6/7和iPhone 6 + / 7 +无法正常显示。

分隔线不在适当的位置,一些重叠的标签栏项目。

enter image description here 注意:我使用的是Xcode 8.2。

1 个答案:

答案 0 :(得分:0)

创建一个UIView像这样,并根据需要设置中心项的高度。

enter image description here

然后在TabbarView控制器中。将此视图添加到标签栏View Like this。

UITabBar.appearance().shadowImage = UIImage()

        customNavBar = NSBundle.mainBundle().loadNibNamed("CustomTabBarView", owner: self, options: nil)[0] as! UIView

        bdNavBar.translatesAutoresizingMaskIntoConstraints = false

        self.tabBar.addSubview(customNavBar)

然后将Constraints添加到自定义Tabbar。

self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Left, relatedBy: .Equal, toItem: self.view, attribute: .Left, multiplier: 1.0, constant:  0))
self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Right, relatedBy: .Equal, toItem: self.view, attribute: .Right, multiplier: 1.0, constant:  0))
self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Bottom, relatedBy: .Equal, toItem: self.view, attribute: .Bottom, multiplier: 1.0, constant:  0))
bdNavBar.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: NSLayoutAttribute.Height, relatedBy: .Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1.0, constant:  50))        
self.tabBar.bringSubviewToFront(customNavBar)