iOS 4.3 changed transformation on UIImagePickerCon

2019-01-26 21:59发布

问题:

After testing my App on iOS 4.3 I noticed that the camera overlay of my UIImagePickerController has an added transformation that stretched the content extremely. Pre iOS 4.3 everything shows up correctly.

Here is what I do

imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

cameraOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
cameraOverlay.backgroundColor = [UIColor clearColor];
cameraOverlay.userInteractionEnabled = NO;

//add subviews to camera Overlay

imagePicker.cameraOverlayView = pauseButton;

Any ideas what I have to do to get rid of the added transformation?

回答1:

OK found the answer. ios 4.3 requires to have the camerOverlay as big as the screen is. So my 200x200 camera overlay was enlarged.

If I change the line:

cameraOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];

to

cameraOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

it works :).