2016-09-23 3 views
0

私はチュートリアルに続き、私は実際にこれらの2つのエラーをトラブルシューティングすることはできません。ステータスバーとカラーコマンドの問題

オーバーライド関数は「メソッドはそのスーパークラスのメソッドをオーバーライドしません」と指定しています。オーバーライドを削除するのは疲れましたが、それでもエラーが表示されました。小さな矢印はpreferredStatusBarStyleのpを指しています。

拡張子は「宣言はスコープファイルでのみ有効です。」これは現在別の方法で呼び出されていますか?

これは愚かな質問の場合、私はまだプログラミングに新しいです、ごめんなさい。

override func preferredStatusBarStyle() -> UIStatusBarStyle { 
      return .lightContent 
     } 

    extension UIColor{ 

     convenience init (r: CGFloat, g: CGFloat, b: CGFloat) { 
      self.init(red: r/255, green: g/255, blue: b/255, alpha: 1) 
     } 

    } 
+0

あなたは、どのクラスをお使いになるのか教えてください。それは、UINavigationControllerの子クラス内にある必要があります。あなたはより多くの詳細が必要な場合は私に知らせて、それが –

+0

クラスLoginControllerのために私は答えを書いただろうしてください:のUIViewController –

+0

preferredStatusBarStyleがUINavigationviewコントローラからの方法であることが\t クラスLoginControllerする必要がありますのUIViewControllerない:私はそれを変更した場合、私に与えているUINavigationViewController –

答えて

2

ここで、extension UIColorを定義していますか?これら2つは同じクラス内のpreferredStatusBarStyle()extension UIColorですか?私はそれを見ることができた、extensionsはあなたのクラス定義の外にあるはずです。以下のように:iOSの10、preferredStatusBarStyle

class LoginController: UIViewController { 

    override var preferredStatusBarStyle: UIStatusBarStyle { 
     return .lightContent 
    } 
    //..other methods 
} 

extension UIColor{ 

    convenience init (r: CGFloat, g: CGFloat, b: CGFloat) { 
     self.init(red: r/255, green: g/255, blue: b/255, alpha: 1) 
    } 
} 

は財産ではない方法です。そのため、すでにfunc宣言で上書きする代わりに、overridegetterに上記のようなvar宣言を付けてください。

+0

LoginControllerクラスの{}が好きです:UIViewController? –

+0

はい、そうです。 – Santosh

+0

ありがとう、拡張機能を解決しましたが、まだステータスバーに問題があります。 –

関連する問題