2012-04-04 15 views

答えて

2

UIViewControllerbackgroundColorを設定することはできません。その場合は、viewプロパティのみを設定してください。 さて、UIColorの値をグローバルに設定し、それを設定するときには、それぞれUIViewControllerのメソッドに到達し、self.view.backgroundColorを指定の色に設定します。

4

一つのアプローチは、

(uがしたい場合は...そして、あなたがその通知を呼びかけセレクタで色を変更することができます...色が変更されると通知を発射してのリスナーとしてすべてviewcontrollersを作ることですこの全体のプロシージャを何度も書くのを避けてください。UIViewControllerをサブクラス化するベースビューコントローラを作成し、すべてのViewControllerがこのベースビューコントローラをサブクラス化します...これを行うと、baseviewcontrollerでlistner関数を1回だけ定義する必要があります)助けてください:)

3

ほとんどのアプリビューコントローラは、一度に1つしか表示されません。それがあなたのアプリに当てはまる場合、あなたのVCはビューの背景色を表示する前に設定することができます。

- (void)viewWillAppear:(BOOL)animated { 

    if (/* the condition that makes me supposed to have a blue background */) { 

     // I was supposed to be blue already, but nobody can see me yet, 
     // so everything is cool 

     self.view.backgroundColor = [UIColor blueColor]; 
    } 
} 
2

このタスクの最善のアプローチは、共通の美学とロジックを基本クラスにリファクタリングすることです。たとえば、私のプロジェクトのほとんどで、私はBaseViewControllerというクラスを持っています。すべてのUIViewControllerはこの基本クラスから拡張されています。 viewDidAppearviewDidLoadメソッドでは、アプリケーションのすべてのビューに対して適切な設定を完了します。あなたが(必然的に)あなたのアプリケーションの外観を変更したいときは、コードはONEにしかありません!

関連する問題