2015-11-30 4 views
0

Я использую приведенный ниже код, чтобы установить цвет градиента на navigationBar. Но после применения цвета градиента моя ячейка просмотра таблицы прокручивается обратно до navigationBar, а содержимое верхнего cell - это бит, видимый до navigationBar.UItableviewcell отображается на панели навигации в ios

let gradient: CAGradientLayer = CAGradientLayer() 
     let navigationBar = self.navigationController?.navigationBar.bounds 
     let statusBar = UIApplication.sharedApplication().statusBarFrame 
     let gradientBounds = CGRectMake(0.0, 0.0, (navigationBar?.size.width)!+statusBar.size.width, (navigationBar?.size.height)!+statusBar.size.height) 
     gradient.frame = (gradientBounds) 
     gradient.colors = [UIColor.redColor().CGColor, UIColor.blackColor().CGColor] 
     gradient.locations = [0.0, 1.0] 
     UIGraphicsBeginImageContext(gradient.bounds.size); 
     gradient.renderInContext(UIGraphicsGetCurrentContext()!) 
     let backImage = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     self.navigationController?.navigationBar.barStyle = UIBarStyle.Default 
     self.navigationController?.navigationBar.setBackgroundImage(backImage, forBarMetrics: UIBarMetrics.Default) 

enter image description here

+1

Попробуйте включить скриншот. – beyowulf

ответ

0

панели навигации полупрозрачные по умолчанию, и даже если они не были - что бы до сих пор первое место, чтобы проверить. Установка сплошного фонового изображения не делает его непрозрачным, в дополнение к этому вам нужно будет установить свойство навигационной панели translucent через код или в Interface Builder.

+0

self.navigationController? .navigationBar.barStyle = UIBarStyle.Default. В этой строке даже я попытался изменить UIBarStyle как полупрозрачный, а не по умолчанию. Но это не дает никакого влияния. Если я удалю градиент, то это представление таблицы больше не находится на задней панели панели навигации. Почему эта проблема возникает только при применении цветов градиента? – Satheshkumar

+0

Прочтите ответ еще раз, он ничего не говорит об изменении значения 'barStyle', если вам нужна дополнительная информация о том, почему' 'полупрозрачный' должен использоваться, обратитесь к документации' UIBarStyle'. –

Смежные вопросы