ナビゲーションバーのグラデーション画像の背景を設定しようとしています。コードはそうのようなものです:勾配画像をUINavigationBarの背景として設定する場合
extension CAGradientLayer {
class func gradientLayerForBounds(bounds: CGRect, startColor: UIColor, endColor: UIColor) -> CAGradientLayer {
let layer = CAGradientLayer()
layer.frame = bounds
layer.colors = [startColor.CGColor, endColor.CGColor]
return layer
}
}
はその後、私のビューコントローラで:
func imageLayerForGradientBackground() -> UIImage{
var updatedFrame = self.navigationController!.navigationBar.bounds
updatedFrame.size.height += 20 //Status bar
let layer = CAGradientLayer.gradientLayerForBounds(updatedFrame, startColor: UIColor(hexString: "5FD238")!, endColor: UIColor(hexString: "A5E589")!)
UIGraphicsBeginImageContext(layer.bounds.size)
layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
のviewDidLoad:
navigationController!.navigationBar.translucent = false
navigationController!.navigationBar.tintColor = UIColor.whiteColor()
navigationController!.navigationBar.setBackgroundImage(imageLayerForGradientBackground(), forBarMetrics: UIBarMetrics.Default)
問題は、ナビゲーションバーの下にすべての私の見解は、今では押し下げられていることです
012:(以下の図にひどく描かれた)ナビゲーションバーの高さのようなものを見て
なぜこの出来事はありますか?これについてのあらゆる指針は非常に高く評価されるでしょう!ありがとう!
EDIT:
func setupDrawerView() {
answerDrawerView = AnswerDrawerView(frame: CGRect(x: 0, y: UIScreen.mainScreen().bounds.size.height - AnswerDrawerView.submitTabHeight, width: UIScreen.mainScreen().bounds.size.width, height: UIScreen.mainScreen().bounds.height*0.75))
answerDrawerView.delegate = self
view.addSubview(answerDrawerView)
}
ストーリーボードに行くと、それはそのマットのため – Tj3n