Добавление подпредставления в UIImagePickerController, а picker.showsCameraControls = YES; (?)
Я пытаюсь настроить представление, которое содержит кнопку поверх UIImagePickerControllerView. Я видел, что можно создать настройку представления OverlayView picker.showsCameraControls = NO;
и добавление подпредставления к оверлею. Но я не хочу терять контроллеры, просто добавить кнопку сверху. Это возможно?
Вот мой код:
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera])
{
UIImagePickerController *imagePickerCam =
[[UIImagePickerController alloc] init];
imagePickerCam.delegate = self;
imagePickerCam.sourceType =
UIImagePickerControllerSourceTypeCamera;
imagePickerCam.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeMovie,
nil];
imagePickerCam.allowsEditing = NO;
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UIButton *Button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[Button setFrame:CGRectMake(200, 480, 80, 80)];
[Button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
[overlayView addSubview:Button];
[imagePickerCam.view addSubview:overlayView];
[overlayView bringSubviewToFront:imagePickerCam.view];
[self presentModalViewController:imagePickerCam
animated:YES];
}
Я пытаюсь это:
[imagePickerCam.view addSubview:overlayView];
[overlayView bringSubviewToFront:imagePickerCam.view];
Конечно, это не работает. Любая идея?
1 ответ
Во-первых, вы должны использовать:
[imagePickerCam setCameraOverlayView: overlayView];
Таким образом, вам не нужно управлять порядком подпредставлений, поэтому вы можете удалить строку:
[overlayView bringSubviewToFront:imagePickerCam.view];
что, кстати, должно было быть наоборот:
[imagePickerCam.view bringSubviewToFront:overlayView];
Во-вторых, ваш оверлейный вид имеет высоту 480, и вы устанавливаете UIButton y смещение 480, так что кнопка выходит за пределы. Попробуйте что-то вроде:
UIView *overlayView = [[UIView alloc] initWithFrame:self.view.frame];
UIButton *Button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[Button setFrame:CGRectMake(200, self.view.frame.size.height - 80, 80, 80)];