0

サブクラスPFLoginViewController化して、UI のカスタマイズを行っていviewWillAppearます。これは、一部のボタンとフィールドではうまく機能するようです。

アプリが最初に読み込まれたときのログイン画面は次のとおりです: http://cl.ly/image/2J0v3K313W3A

次のカスタマイズはすべて有効です。

self.logInView?.logInButton?.setTitle("LOGIN", forState: UIControlState.Normal)
self.logInView?.logInButton?.titleLabel?.font = UIFont.openSansSemiBoldFontOfSize(18)
self.logInView?.signUpButton?.titleLabel?.font = UIFont.openSansSemiBoldFontOfSize(18)

必要のない次のカスタマイズもあります。

self.logInView?.signUpButton?.setTitle("SIGN UP", forState: UIControlState.Normal)
self.logInView?.logInButton?.backgroundColor = UIColor(red: 136/255, green: 192/255, blue: 87/255, alpha: 1)
self.logInView!.signUpButton!.backgroundColor = UIColor(red: 136/255, green: 192/255, blue: 87/255, alpha: 1)

例外...下部にある[サインアップ]ボタンをタップしてサインアップビューコントローラーを閉じると、ログインビューコントローラーが再表示されると、「サインアップ」は本来あるべきように大文字になります。ただし、ボタンの背景は変更されていません。

http://cl.ly/image/0g0P1z0v1I1a

カスタマイズの一部が機能し、一部が機能しない理由について頭を悩ませることはできません。コードはすべて同じ場所にあります。setTitleビューの拳が表示されたときに、あるボタンでは機能するが、他のボタンでは機能しないのはなぜですか?

完全に困惑した。

** 開示のために、ログイン コントローラーを提示する前に、すべてのカスタマイズ コードを に移動しようとしました。違いはゼロでした。

4

1 に答える 1

0

背景色が更新されない理由は、それらを整数として渡したからです。整数の場合、得られる結果はゼロに等しくなります。

self.logInView?.logInButton?.backgroundColor = UIColor(red: 136/255, green: 192/255, blue: 87/255, alpha: 1)
self.logInView!.signUpButton!.backgroundColor = UIColor(red: 136/255, green: 192/255, blue: 87/255, alpha: 1)

このコードは、コンパイラによって次のように読み取られます。

self.logInView?.logInButton?.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 1)
self.logInView!.signUpButton!.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 1)

この問題を解決するには、値を double として渡す必要があります。だから、このようにコードを実行してみてください

self.logInView?.logInButton?.backgroundColor = UIColor(red: 136.0/255.0, green: 192.0/255.0, blue: 87.0/255.0, alpha: 1.0)
self.logInView!.signUpButton!.backgroundColor = UIColor(red: 136.0/255.0, green: 192.0/255.0, blue: 87.0/255.0, alpha: 1.0)
于 2015-08-22T18:23:57.657 に答える