【问题标题】:How to display imagepickercontroller through popoverview controller?如何通过popoverview控制器显示imagepickercontroller?
【发布时间】:2012-09-25 10:03:00
【问题描述】:

我使用以下代码从 iphone 相册中获取照片,但显示错误“UIImagePickerController must be present via UIPopoverController”

- (void)showImagePicker:(UIImagePickerControllerSourceType)sourceType
{

    if ([UIImagePickerController isSourceTypeAvailable:sourceType])
    {
        [self setupImagePicker:sourceType];

        [self presentModalViewController:imagePickerController animated:YES];

    }
}


- (void)setupImagePicker:(UIImagePickerControllerSourceType)sourceType
{
    imagePickerController.sourceType = sourceType;

    if (sourceType == UIImagePickerControllerSourceTypeCamera)
    {
        // user wants to use the camera interface
        //
        imagePickerController.showsCameraControls = NO;

        if (imagePickerController.cameraOverlayView != self.view)
        {
            // setup our custom overlay view for the camera
            //
            // ensure that our custom view's frame fits within the parent frame
            CGRect overlayViewFrame = imagePickerController.cameraOverlayView.frame;
            CGRect newFrame = CGRectMake(0.0,
                                         CGRectGetHeight(overlayViewFrame) -
                                         self.view.frame.size.height - 9.0,
                                         CGRectGetWidth(overlayViewFrame),
                                         self.view.frame.size.height + 9.0);
            self.view.frame = newFrame;
            imagePickerController.cameraOverlayView = self.view;
        }
    }
}



-(IBAction)getPhoto:(id)sender {
        imagePickerController = [[UIImagePickerController alloc] init];
        [self showImagePicker:UIImagePickerControllerSourceTypePhotoLibrary];
}

任何人都可以更改我的代码以在 iPad 上工作。 提前致谢。

【问题讨论】:

    标签: objective-c ios ipad uiimagepickercontroller


    【解决方案1】:

    -(IBAction)Click_event {

    UIImagePickerController *imagePickerController_=[[UIImagePickerController alloc] init];
        UIPopoverController *popover_=[[UIPopoverController alloc] initWithContentViewController:imagePickerController_];
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
            imagePickerController_.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [popover_ presentPopoverFromRect:CGRectMake(400, 400, 0, 0) inView:self.Mybutton
                    permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    
    
       }
    
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      相关资源
      最近更新 更多