使用navigationcontroller更改pop-over contentsize

时间:2010-08-11 15:09:29

标签: iphone uiview uinavigationcontroller uipopovercontroller

我想显示一个带有自定义内容的popover。 我可以这样做

UINavigationController* popoverContent = [[UINavigationController alloc] init];


    UIView* popoverView = [[UIView alloc]  initWithFrame:CGRectMake(0, 0, 800, 800)];

    popoverView.backgroundColor = [UIColor blueColor];

    popoverContent.view = popoverView;

    popoverContent.contentSizeForViewInPopover = CGSizeMake(55, 55);
    UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
    [pop presentPopoverFromRect:CGRectMake(80.0, 210.0, 160.0, 40.0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];

但如果我将内容更改为:

popoverContent.viewControllers = [NSArray arrayWithObject:myViewController];

popoverContent.contentSizeForViewInPopover = CGSizeMake(55, 55);

尺寸根本不会改变。

如何在使用导航控制器时更改内容大小? 感谢

1 个答案:

答案 0 :(得分:4)

明确更改弹出框尺寸:

 [self.popoverController setPopoverContentSize:myView.size animated:YES];

但我同意contentSizeForViewInPopover应该有效。反正它不适合我。