iphone - 在 iPad 中显示来自 UIActionSheet 的 uiimagepickercontrollersourcetypephotolibrary 的 UIImagePickerViewController

标签 iphone ipad uiimagepickercontroller uipopovercontroller uiactionsheet

我有一个UIActionSheet,其中包含从相机或照片库中选择图像的选项。为此,我采用了imagePickerViewController。对于相机来说,它工作得非常好。但不适用于照片库。

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

    if (buttonIndex == 0) 
    {

        imgController = [[UIImagePickerController alloc] init];
        imgController.allowsEditing = YES;
        imgController.sourceType =  UIImagePickerControllerSourceTypeCamera;   
        imgController.delegate=self;
        [self presentModalViewController:imgController animated:YES];

    } 
    else if (buttonIndex == 1) 
    {

        if ([self.popoverController isPopoverVisible]) {
            [self.popoverController dismissPopoverAnimated:YES];
            [popoverController release];
        } else {
            if ([UIImagePickerController isSourceTypeAvailable:
                 UIImagePickerControllerSourceTypeSavedPhotosAlbum])
            {
                UIImagePickerController *imagePicker =
                [[UIImagePickerController alloc] init];
                imagePicker.delegate = self;
                imagePicker.sourceType =
                UIImagePickerControllerSourceTypePhotoLibrary;
                imagePicker.allowsEditing = NO;

                self.popoverController = [[UIPopoverController alloc]
                                          initWithContentViewController:imagePicker];

                self.popoverController.delegate = self;

                [self.popoverController setPopoverContentSize:CGSizeMake(500, 500)];

                [self.popoverController presentPopoverFromRect:self.view.frame 
                                                          inView:self.view
                                        permittedArrowDirections:UIPopoverArrowDirectionAny 
                                                        animated:YES];


                [imagePicker release];
            }
        }


    } 

}  

触摸照片库选项时,会在 View 顶部创建一个小的popupViewController,但它非常小。为什么popupViewController太小?是否有其他方法可以显示 uiimagepickercontrollersourcetypephotolibraryUIImagePickerViewController

最佳答案

尝试这个例子

   CGRect popoverRect = [self.view convertRect:[self.view frame] 
                                       fromView:[self.view superview]];

    popoverRect.size.width = MIN(popoverRect.size.width, 80) ; 
    popoverRect.origin.x  = popoverRect.origin.x+150; 

    [self.popoverController 
     presentPopoverFromRect:popoverRect 
     inView:self.view 
     permittedArrowDirections:UIPopoverArrowDirectionLeft
     animated:YES];

关于iphone - 在 iPad 中显示来自 UIActionSheet 的 uiimagepickercontrollersourcetypephotolibrary 的 UIImagePickerViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9972170/

相关文章:

iphone - iPhone socket -3G与WiFi

iphone - TestFlight 找不到构建

ios - 将 UIImagePickerController cameraOverlayView 定位在相机预览的顶部

iphone - 将 iPad 2 中的相机锁定为横向模式

iOS App > 无法设置远程报价 sdp : Called with SDP without DTLS fingerprint

iphone - 如何从 iPhone 获取生日联系人列表

iphone - 苹果手机 : Calling Webview from anther View Controller class

iphone - 更改 UIWindow subview 时,未设置方向

iphone - 更改 UIView 中的坐标原点

ios - ImagePicker 选取图像后 CollectionView 图像不更新