1

我正在编写一个应用程序,该应用程序需要生成一个弹出框以添加新注释。为此,我有一些技巧可以解决问题,但是,我似乎无法调整弹出框的大小。这就是我产生它的方式:

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];

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

4

1 回答 1

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];
于 2013-08-28T21:21:56.497 回答