2017-07-11 10 views
0

ナビゲーションバーとコンテンツの間にセパレータラインを実装しようとしています。色付きの画像を作成するUIImage拡張が見つかりました。最初のviewWillAppearでシャドウイメージが機能しない

extension UIImage { 
    class func imageWithColor(color: UIColor) -> UIImage { 
     let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 0.5) 
     UIGraphicsBeginImageContextWithOptions(rect.size, false, 0.0) 
     color.setFill() 
     UIRectFill(rect) 
     let image : UIImage = UIGraphicsGetImageFromCurrentImageContext()! 
     UIGraphicsEndImageContext() 
     return image 
    } 
} 

私はそのようにviewWillAppearでこれを置く:

navigationController?.navigationBar.shadowImage = UIImage.imageWithColor(color: constants.lightBlue) 

を、私は私のコレクションビューでエントリをクリックして初期ビューコントローラに戻ってくる場合、これは、うまく動作します。ただし、アプリケーションの最初の起動時に読み込まれることはありません。

+0

ビューロード時に呼び出すことができます。 –

+0

@SourLeangChhean私はそれをやったし、viewdidappearでそれを試した。 –

答えて

0

なぜ単純なUIViewをbackgroundColorで作成しないのですか?フレームや拘束によって配置することができ、うまくいくはずです。

ストーリーボードで作成することもできますし、コードをまったく使用しないこともできます。

+0

私は本当に何かをナビゲーションバーとテーブルビューの間に置くことができないように私はTableViewControllerを使用しています –

関連する問題