0

Проблема с доступом к оверлейу кнопки UIImagePickerControllerSourceTypePhotoLibrary - вот что я получил, проблема в селекторе (takeLib :).Нет видимого @interface для 'CameraTakePictureOverlay' для UIImagePickerControllerSourceTypePhotoLibrary

используя свойство для imagePicker

@property (weak, nonatomic) UIImagePickerController *imagePicker; 

- (UIButton *) createGetLibraryButton { 

UIImage *imglibraryPicture = [StyleKit imageOfLibraryIcon]; 



CGRect bounds = [UIScreen mainScreen].bounds; 

CGRect takePicRect = CGRectMake((bounds.size.width/2) - (imglibraryPicture.size.width/1), 
           bounds.size.height-imglibraryPicture.size.height/2-CAMERA_BOTTOM_BUTTON_PADDING, 
           imglibraryPicture.size.width/2, 
           imglibraryPicture.size.height/2); 

UIButton *btnLibrary = [[UIButton alloc] initWithFrame:takePicRect]; 

//using selector(takeLib:) 
[btnLibrary setBackgroundImage:imglibraryPicture forState:UIControlStateNormal]; 
[btnLibrary addTarget:self action:@selector (takeLib:) forControlEvents:UIControlEventTouchUpInside]; 

return btnLibrary; 
} 

селектор здесь, где проблема возникает заявил

-(void) takeLib:(id)sender 
{ 
self.imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
self.imagePicker.delegate = self; 
[self presentViewController:self.imagePicker animated:YES completion:^{ 
    }]; 
} 

ошибка: No visible @interface for 'CameraTakePictureOverlay' declares the selector 'presentViewController:animated:completion:'

ответ

0

Из того, что супер класс ты наследовать CameraTakePictureOverlay?
Супер класс должен быть UIViewController. UIImagePickerController docs

Представьте пользовательский интерфейс. На iPhone или iPod touch сделайте это по-разному (полноэкранный), вызвав метод currentViewController: анимированный: завершение: текущий активный контроллер представления, передав ваш сконфигурированный контроллер выбора изображений в качестве нового контроллера представления.

+0

Суперкласс UIVEW –

+0

Хорошо, и в этом проблема. 'UIView' не имеет метода' presentViewController'. –

+0

Попытайтесь переместить код 'takeLib' в свой контроллер, и все будет работать. –