2017-01-04 46 views
5

Ktoś ma działające rozwiązanie, aby pozbyć się tej granicy w iOS 10? Mam niestandardowy obraz tła UITabBar.iOS 10: Niestandardowy obraz tła UITabBar tworzy ramkę u góry obrazu. Jak mogę go usunąć?

Próbowałem następujących bez rezultatów:

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

I wreszcie wyrzucił ręce w górę i ustawić styl bar do „Black” .. to nie pozbyć granicy , ale czyni ją białą. Więc to ukrywa.

thin border at top

+0

To jest denerwujące. – rdougan

Odpowiedz

0

Spróbuj tego:

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

Bez powodzenia. Właśnie próbowałem tego, wciąż pokazuje się: 'tabBar.layer.borderWidth = 0 tabBar.layer.borderColor = UIColor.clearColor(). CGColor' – skippyman

0

Czy na pewno nie ma granicy w samym obrazie?

+0

Tak, nie ma go na obrazie. Kiedy dostosuję styl paska do "Czarnego", granica pozostanie, ale będzie biała (zgodnie z oczekiwaniami). To udowodniłoby, że nie jest częścią samego obrazu tła. – skippyman

+0

Spróbuj tego: UITabBar.appearance(). Layer.borderWidth = 0,0 UITabBar.appearance(). ClipsToBounds = true – Manni84

+0

To odetnie górną część obrazu tła UITabBar. Usuwa granicę, technicznie ... ale usuwa wszystko powyżej ~ 49 punktów na urządzeniu. I dziękuję za nieustający wysiłek w tej sprawie! – skippyman

2

Jeśli używasz backgroundImage następnie shadow line przyjdzie więc można spróbować to:

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) 

pracować dla mnie

0

to się ze mną dzieje, ponieważ mój obraz był wyższy niż pasku kart domyślny z 49. Upewnienie się, że moja wysokość obrazu tła wynosi dokładnie 49, spowodowało zniknięcie tej linii (96 dla 2x i 147 dla 3x).

Mam nadzieję, że pomoże!