2015-06-18 4 views
0

Я пытаюсь получить пользовательский оверлей работы. У меня есть PNG-образ в моем проекте. Края имеют границу, а центр прозрачен. В моем коде, у меня есть:Пользовательские камеры наложения не работает на iPad

self.imagePickerController = [[UIImagePickerController alloc] init]; 
    [self.imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera]; 
    [self.imagePickerController setDelegate:self]; 
    [self.imagePickerController setCameraDevice:UIImagePickerControllerCameraDeviceRear]; 
    [self.imagePickerController setShowsCameraControls:NO]; 

    UIView *myOverlay = [[UIView alloc] initWithFrame:self.view.bounds]; 
    UIImage *overlayImg = [UIImage imageNamed:@"overlay.png"]; 
    UIImageView *overlayBg = [[UIImageView alloc] initWithImage:overlayImg]; 
    [myOverlay addSubview:overlayBg]; 
    [self.navigationController presentViewController:self.imagePickerController animated:YES completion:nil]; 

Когда я нажимаю на кнопку, чтобы представить контроллер, я получаю это:

enter image description here

Что я делаю неправильно, что держит камеру от занятия весь экран, а также не добавляя изображение overlay.png? Это то, что наложение выглядит, просто помните, белую часть фактически прозрачна:

enter image description here

UPDATE

Я обновил код:

self.imagePickerController = [[UIImagePickerController alloc] init]; 
    [self.imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera]; 
    [self.imagePickerController setDelegate:self]; 
    [self.imagePickerController setCameraDevice:UIImagePickerControllerCameraDeviceRear]; 
    [self.imagePickerController setShowsCameraControls:NO]; 

    UIView *myOverlay = [[UIView alloc] initWithFrame:self.view.bounds]; 
    UIImage *overlayImg = [UIImage imageNamed:@"overlay.png"]; 
    UIImageView *overlayBg = [[UIImageView alloc] initWithImage:overlayImg]; 
    [myOverlay addSubview:overlayBg]; 
    [self.imagePickerController.view addSubview:myOverlay]; 

    [self.navigationController presentViewController:self.imagePickerController animated:YES completion:nil]; 

Это выглядит так, получая лучше, но камера все еще занимает лишь небольшую часть экрана, а рамка не совсем правильная.

enter image description here

ответ

0

Вам необходимо установить соединение между myOverlay и imagePickerController, поэтому попробуйте добавить myOverlay, как подвид из imagePickerController.view.

+0

Хорошо, я добавил это, и граница есть, но только не размер справа, а фактическая часть камеры занимает небольшую часть экрана. Обновлен OP – user717452

Смежные вопросы