2017-01-04 28 views
5

iOS 10'da bu sınırdan kurtulmak için çalışan bir çözüm var mı? Özel bir UITabBar arka plan resmim var.iOS 10: Özel UITabBar arka plan resmi, resmin üst kısmında kenarlık oluşturur. Nasıl kaldırabilirim?

Hiçbir sonuç ile aşağıdaki denedim:

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

Sonunda havada ellerimi kustu ve çubuk stili ayarlamak "Kara" .. Bu sınırın kurtulmak yitirmesin ama beyaz yapar. Yani gizler.

thin border at top

+0

Bu sinir bozucu bir durumdur. – rdougan

cevap

0

bu deneyin:

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

Hayır şans. Ben sadece bunu denedim, hala gösteriyor: 'tabBar.layer.borderWidth = 0 tabBar.layer.borderColor = UIColor.clearColor() CGColor' – skippyman

0

resmin kendisinin hiçbir sınır yoktur emin misin? Sonra gölge hat gelecek Backgroundımage kullanırsanız

+0

Evet, resimde değil. Çubuk stilini "Siyah" olarak ayarladığım zaman, kenarlık kalır ancak beyazdır (beklendiği gibi). Bu, arka plan görüntüsünün kendisinin bir parçası olmadığını kanıtlayabilir. – skippyman

+0

Bunu deneyin: UITabBar.appearance() layer.borderWidth = 0.0 UITabBar.appearance() kliplerToBounds = true – Manni84

+0

Bu, UITabBar arka plan resminin üst bölümünü keser. Sınırı teknik olarak kaldırır ... ... ancak cihazdaki 49 puanın üzerindeki herşeyi kaldırır. Ve bu konudaki çabalarınız için teşekkür ederim! – skippyman

2

yüzden bu deneyebilirsiniz:

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) 

O

0

benim görüntü varsayılan sekme çubuğunun daha uzun boylu, çünkü bu bana da oluyordu benim için çalışır 49. Arka plan görüntü yüksekliğimin tam olarak 49 olduğundan emin olmak bu çizginin kaybolmasını sağladı (2x için 96 ve 3x için 147).

Umut eder!

İlgili konular