Ios UIPopoverController presentPopoverFromRect未正确显示

Ios UIPopoverController presentPopoverFromRect未正确显示,ios,objective-c,uipopovercontroller,Ios,Objective C,Uipopovercontroller,我正在加载显示相机视图的弹出视图。任何东西都可以工作,但是它不能在iPad上玩比扑克牌大的游戏。无论我做什么,我都不能调整它的大小,只能改变它的位置 这是我使用的代码 [self.popOver presentPopoverFromRect:CGRectMake(44, 6, 111, 111) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 我如何调整尺寸 更新 我的整个方法

我正在加载显示相机视图的弹出视图。任何东西都可以工作,但是它不能在iPad上玩比扑克牌大的游戏。无论我做什么,我都不能调整它的大小,只能改变它的位置

这是我使用的代码

[self.popOver presentPopoverFromRect:CGRectMake(44, 6, 111, 111) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
我如何调整尺寸

更新 我的整个方法就是这样的:

- (void) cameraButtonSelected
{
    // create picker
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.preferredContentSize = CGSizeMake(400.0, 400.0);

    if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
        CGFloat scaleFactor=1.3f;
        picker.cameraViewTransform = CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI * -90 / 180.0), scaleFactor, scaleFactor);
    }

    // create popover
    self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
    [self.popOver presentPopoverFromRect:CGRectMake(44, 6, 111, 111) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

尝试将此属性设置为popover中包含的控制器

someViewController.contentSizeForViewInPopover = CGSizeMake(200.0, 200.0)
试用

preferredContentSize
财产


很抱歉,我身上没有mac电脑,无法进行检查

您应该尝试在ViewWillDisplay中设置大小:

 - (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.popover.preferredContentSize = ...
  }

没有任何东西对我有效,因此我在显示popoverController后调整了它的大小,如下所示:

[popoverController presentPopoverFromRect:cell.mediaComment.frame
                                   inView:cell
                 permittedArrowDirections:UIPopoverArrowDirectionRight
                                 animated:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    popoverController.contentViewController.preferredContentSize = REQUIRED_RECT.size;
    popoverView.frame = REQUIRED_RECT;
});

我已经更新了我的代码。。我试着用你给我的那一行代码,但没用。。您能检查一下我是否正确使用了它吗?是的,我使用了preferredContentSize,因为您建议的第一个已被弃用。所以我仍然站在同样的立场上,这个观点是Sitl行为怪异。