У меня есть приложение, которое принимает изображение из существующей библиотеки или новое с камеры.UIPopover, появляющийся с неправильной кнопкой
На iPad, когда я нажимаю кнопку «из библиотеки», над кнопкой, с которой она была нажата, появляется надпись (справа), но когда я нажимаю «снимать фотографию» с кнопки камеры, появляется контроллер камеры над кнопкой «из библиотеки» также ... Мне нужно, чтобы это появилось над кнопкой «взять фотографию», иначе это выглядит немного странно!
здесь используется код;
- (void)pickImageFromLibrary: (id)sender
{
[Flurry logEvent: @"PickImage"];
[self openImagePickerWithSourceType: UIImagePickerControllerSourceTypePhotoLibrary];
}
- (void)takePicture: (id)sender
{
[Flurry logEvent: @"TakeImage"];
[self openImagePickerWithSourceType: UIImagePickerControllerSourceTypeCamera];
}
- (void)openImagePickerWithSourceType: (UIImagePickerControllerSourceType)sourceType
{
if (![UIImagePickerController isSourceTypeAvailable: sourceType]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: NSLocalizedString(@"Error", @"")
message: NSLocalizedString(@"We are sorry, but this functionality is not available at your device.", @"No camera eror")
delegate: nil
cancelButtonTitle: NSLocalizedString(@"Dismiss", @"")
otherButtonTitles: nil];
[alert show];
return;
}
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = sourceType;
self.isCameraShown = YES;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.popover = [[UIPopoverController alloc] initWithContentViewController:(UIViewController *)picker];
CGRect takePhotoRect;
takePhotoRect.origin = self.view.frame.origin;
takePhotoRect.size.width = 1;
takePhotoRect.size.height = 1;
[self.popover setPopoverContentSize:CGSizeMake(320.0, 216.0)];
[self.popover presentPopoverFromRect:_openLibraryButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}else{
[self presentViewController:picker animated:YES completion:NULL ];
}
}
Похоже, что вы вынуждаете его всегда использовать '' fromLibrary' кадр [self.popover presentPopoverFromRect: _openLibraryButton.frame INview: self.view permittedArrowDirections: UIPopoverArrowDirectionAny анимированный: YES] ; ' – Bot
Боковое примечание - не показывайте камеру в popover. Используйте только popover для библиотеки фотографий. – rmaddy