无法改变UIPopover的大小?

时间:2013-08-28 21:17:45

标签: ios uipopovercontroller

我正在编写一个需要生成弹出窗口的应用程序才能添加新笔记。为此,我有一些东西可以做到这一点,但是,我似乎无法调整弹出窗口的大小。这就是我产生它的方式:

UIButton* btn =sender;
UIViewController* fooTroller = [[UIViewController alloc] init];

CGRect rectFoo = CGRectMake(0, 0, 100, 100);
UIView* fooView = [[UIView alloc] initWithFrame:rectFoo];
[fooView setBackgroundColor:[UIColor redColor]];
[fooTroller setView:fooView];
popOver =[[UIPopoverController alloc] initWithContentViewController:fooTroller];

[popOver presentPopoverFromRect:btn.frame
                         inView:self.view
       permittedArrowDirections:UIPopoverArrowDirectionLeft
                       animated:YES];

有什么想法?它不尊重视图大小。

1 个答案:

答案 0 :(得分:3)

您不应该在视图控制器上调用setView:。让视图控制器设置自己的视图。

调整弹出窗口大小的正确方法是覆盖视图控制器的contentSizeForViewInPopover方法以返回大小或在弹出窗口上设置popoverContentSize属性。

UIButton* btn =sender;
UIViewController* fooTroller = [[UIViewController alloc] init];

popOver = [[UIPopoverController alloc] initWithContentViewController:fooTroller];
popOver.popoverContentSize = CGSizeMake(100, 100);

[popOver presentPopoverFromRect:btn.frame
                         inView:self.view
       permittedArrowDirections:UIPopoverArrowDirectionLeft
                       animated:YES];