2011-11-14 11 views
-1

私はiPhone用の聖書リーダーアプリケーションをやっています。私は「夜間モード」を実装したいと思います。リーダーアプリケーションで夜景をどのように実装できますか?

私は夜間モード用のボタンを作っていますが、読み取りウィンドウはテーブルビューですが、他のページも私のアプリケーションにあります。私の必要は、夜間モードが切り替えられた時です。黒とテキストの作成者は白で表示されます。

テーブルビューの裏側に暗い勾配の画像ビューを置き、非表示に設定しました。ボタンをタップすると、darkgradient.hidden = no;が実行されるので、pngは元に戻ってテーブルビューの背後に黒く表示されます。

テーブルビューの背景を透明な色にしました。 tableviewセルには、chapterandverseラベルと呼ばれるラベルがあります。私は、背景を変更し、私は別のページに切り替えて、デフォルトに戻しテーブルビューページに黒い背景の変更を来たときに問題があるcellForRowAtIndexpath:

if (imagedarkbackground.hidden == NO) { 
      cell.chapterAndVerse.backgroundColor= [UIColor blackColor]; 
      cell.chapterAndVerse.textColor = [UIColor whiteColor]; 
      table.backgroundColor = [UIColor blackColor]; 
      cell.textLabel.textColor = [UIColor whiteColor]; 
     } 
     else{ 
      //default 
     } 

でテキストの色を変更するには、テーブルビューにこのコードを置きます。私はこれがアプリケーションでナイトモードを設定する正しい方法ではないことを知っている、そしてそれはまた、appviewの背景を変更するのではなく、tableviewの背景を変更するので、どうすれば正しい方法でこれを行うのですか?

答えて

0

背景色がデフォルトにリセットされている場合は、UITableViewControllerサブクラスがアンロードされている可能性があります。モーダルビューとして表示していますか?もしそうなら、アプリケーションデリゲートのBOOLプロパティのように、夜間モード設定を別の場所に保存する必要があります。次にviewDidLoadで、そのプロパティをチェックし、それに応じて背景色を設定します。あなたのアプリが終了したときに戻ってくると、夜間モードは同じものに設定されていますが、アプリが最後に使用されてから多くの時間が経過していない場合は、値を保存しておく方がよいでしょう。

さらに、時計の時刻に基づいてナイトモードを自動的に設定します。もう一度、カメラからのデータを使用して環境光レベルを検出してください。しかしどちらの場合でも、オーバーライドするボタンがいいです。

関連する問題