我正在编写一个需要生成弹出窗口的应用程序才能添加新笔记。为此,我有一些东西可以做到这一点,但是,我似乎无法调整弹出窗口的大小。这就是我产生它的方式:
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];
有什么想法?它不尊重视图大小。
答案 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];