3

のサイズ幅を変更するにUIImagePickerControlleriPad?高さを変更できるので700ですが、幅を変更することはできませんが、それでも320です。私のコード。

 UIImagePickerController*  imagePicker=[[UIImagePickerController alloc]init];
 imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 imagePicker.delegate=self;
 CGRect myRect = CGRectMake(imagePicker.view.frame.origin.x, imagePicker.view.frame.origin.y, 720, 700);
 imagePicker.view.frame = myRect;
 self.popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
 myRect = CGRectMake(100, 880, 900, 900);
 CGRect re2 = CGRectMake(0,0,800,800);
 [self.popover setPopoverContentSize:re2.size];
 [self.popover presentPopoverFromRect:[self.view bounds] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
 [self.popover presentPopoverFromRect:myRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];      
 [self.popover setPopoverContentSize:re2.size];
4

3 に答える 3

10

PhotoLibrary の UIImagePickerView コンテンツは navigatorController であるため、同じ問題があり、UINavigationControllerDelegate で解決しました。行を選択すると、ViewController が変更され、ポップオーバーのサイズも変更されます。したがって、 willShowViewController デリゲートに次のように入力します。

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    viewController.contentSizeForViewInPopover = CGSizeMake(800, 800);
}

これにより、ポップオーバーのサイズ変更が防止されます。

于 2013-02-28T19:01:02.113 に答える
3

この簡略化されたコードは私にとってはうまくいきました:

    UIImagePickerController*  imagePicker=[[UIImagePickerController alloc]init];
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    self.popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
    [self.popover presentPopoverFromRect:CGRectMake(100, 880, 1, 1) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    [self.popover setPopoverContentSize:CGSizeMake(700, 700)];
于 2012-12-07T16:37:17.427 に答える