iOS- iPad UIPopoverController
在IPAD开发中,有一个很有趣的视图控制器,UIPopoverControllr,它的初始化必须要设置一个"内容视图",相当于它本身只是作为一个“容器”,而显示的内容还需要另外一个视图。
初始化:
-(void)show:(UIButton *)button{
// TableViewController *tb=[[TableViewController alloc]initWithNibName:nil bundle:nil];
TableViewController *popoverViewController = [[TableViewController alloc]initWithNibName:nil bundle:nil];
popoverViewController.title = @"选择你喜欢的颜色";
UINavigationController *nav = [[UINavigationController alloc]
initWithRootViewController:popoverViewController];
self.poc = [[UIPopoverController alloc] initWithContentViewController:nav];
[self.poc presentPopoverFromRect:button.bounds inView:button permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
//如果不需要圆角,可以在内容控制器中加入:
- (void)viewWillAppear:(BOOL)animated { self.view.superview.layer.cornerRadius= 0; }
UIPopoverController 设定大小: self.popover.popoverContentSize = CGSizeMake(340, 350); UIPopoverPresentationController设定大小: UIPopoverPresentationController *presentationController = [vc popoverPresentationController]; vc.preferredContentSize = CGSizeMake(500, 500); sourceRect sourceView这里俩属性 是所在页面 popover箭头指向sourceRect中心 permittedArrowDirections设置为0即可以不显示箭头 如果想去掉圆角,在弹出控制器添加: - (void)viewWillAppear:(BOOL)animated { self.view.superview.layer.cornerRadius = 0; }