2017-01-04 4 views
5

У любого есть рабочее решение, чтобы избавиться от этой границы в iOS 10? У меня есть пользовательское фоновое изображение UITabBar.iOS 10: Пользовательское изображение UITabBar создает границу в верхней части изображения. Как его удалить?

Я попытался следующим без результатов:

tabBar.backgroundImage = UIImage(named: "myBackgroundImage.png") 
tabBar.shadowImage = nil 
tabBar.shadowImage = UIImage() 
// i've also tried combinations of this in the storyboard directly 

я, наконец, бросил свои руки в воздухе и установить стиль бара в «черный» .. это не избавляется от границы , но делает его белым. Так оно и скрывает.

thin border at top

+0

Это раздражает. – rdougan

ответ

0

Попробуйте это:

tabBar.layer.borderWidth = 0 
tabBar.layer.borderColor = .clear 
+0

Не повезло. Я просто попробовал это, все еще появляется: 'tabBar.layer.borderWidth = 0 tabBar.layer.borderColor = UIColor.clearColor(). CGColor' – skippyman

0

Вы уверены, что нет никакой границы в самом изображении?

+0

Да, его нет на изображении. Когда я настраиваю стиль панели на «Черный», граница остается, но она белая (как и ожидалось). Это доказывает, что это не часть самого фонового изображения. – skippyman

+0

Попробуйте следующее: UITabBar.appearance(). Layer.borderWidth = 0.0 UITabBar.appearance(). ClipsToBounds = true – Manni84

+0

Это отбивает верхнюю часть фонового изображения UITabBar. Он удаляет границу технически ... но удаляет все выше ~ 49 точек на устройстве. И спасибо за ваши дальнейшие усилия по этому поводу! – skippyman

2

Если вы используете BackgroundImage тогда тень линия придет , так что вы можете попробовать это:

self.tabBar.backgroundImage = UIImage() 
self.tabBar.shadowImage = UIImage() 
let tabBarView = UIImageView(image: #imageLiteral(resourceName: "YOUR_IMAGE")) 
tabBarView.frame = CGRect(x: 0, y: 49 - IMAGEHEIGHT, width: SCREENWIDTH, height: IMAGEHEIGHT) 
self.tabBar.addSubview(tabBarView) 
self.tabBar.sendSubview(toBack: tabBarView) 

Это работает для меня

0

Это происходит со мной, потому что моим образом было выше вкладки по умолчанию бара из 49. Убедившись, что высота моего фонового изображения была ровно 49, эта линия исчезла (96 для 2x и 147 для 3x).

Надеюсь, это поможет!