0

image picker在 iPad 上创建了一个弹出框。此功能有效。但是,如果您按UIBarButton两次应用程序崩溃。

@property (retain) UIPopoverController *popoverController1;


-(IBAction)photos:(id)sender {

    test = false;

    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.wantsFullScreenLayout = NO;
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.allowsEditing = YES;

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

    _popoverController1.delegate = self;

    [_popoverController1 setPopoverContentSize:CGSizeMake(1024, 500)];
    [self.popoverController1 presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

你有什么建议吗?

4

1 回答 1

2

您可能需要检查弹出框是否可见。如果您创建了它的对象,则将其关闭并再次创建弹出框

if ([self.popoverController isPopoverVisible]) {
    [self.popoverController dismissPopoverAnimated:YES];
    [popoverController setDelegate:nil];
    [popoverController release]; // Use release only if , it is without ARC
}
else
{
    // Create popover and assign its properties.
}

这肯定会解决您在所有 iOS 版本中的问题。:) 祝你编码愉快。!!

于 2013-04-25T04:35:05.757 回答