1

我想顯示具有垂直分隔線的選項卡欄的背景圖像。無法使用選項卡欄背景圖片

like the one mentioned below

我有這樣的圖像以下列分辨率: -

1X - 320×49

2× - 640×98

3× - 960×147

圖像正確地爲iPhone 5設置了適當位置的分隔線,但未正確呈現iPhone 6/7和iPhon e 6 +/7 +。

分隔線不在適當的地方,一些重疊的標籤欄項目。

enter image description here 注意:我正在使用Xcode 8.2。

回答

0

創建一個UIView像這樣,並設置中心項目的高度爲你的願望。

enter image description here

然後在TabbarView控制器。將此視圖添加到Tabbar View像這樣。

UITabBar.appearance().shadowImage = UIImage() 

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

     bdNavBar.translatesAutoresizingMaskIntoConstraints = false 

     self.tabBar.addSubview(customNavBar) 

然後將約束添加到自定義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)