電子竹林:Blog2

Tech関係、はてなダイアリーから移転済み...

cameraOverlayView の再描画トラブル

UIImagePickerControllerのcameraOverlayView上にあるUILabelやUIImageViewを書き換えていると、どこかでUILabel、UIImageViewの画面書き換えが起こらなくなってしまう現象にあう。

imagePicker = UIImagePickerController alloc] init];

imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

imagePicker.cameraOverlayView = overlayView;

上のoverlayView上のUILabelとUIImageViewで、起こるのは次の場合

  • 1. 一回、Backgroundに入ってからForegroundに戻って起動した場合
  • 2. 数回~10数回書き換えた場合、回数不定

最初、UIViewにsetNeedsDisplayでOKかと思ったらNG。

しょうがないので、次の様に一回nilにしてから、再設定したら再描画された。

imagePicker.cameraOverlayView = nil;

imagePicker.cameraOverlayView = overlayView;

なんか釈然としない。何か根本的に間違っているのだろうなあ。