iOS- iPad UIPopoverController

时间:2023-04-28 21:17:25

在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= ; }
UIPopoverController 设定大小:
self.popover.popoverContentSize = CGSizeMake(, ); UIPopoverPresentationController设定大小:
UIPopoverPresentationController *presentationController = [vc popoverPresentationController]; vc.preferredContentSize = CGSizeMake(, ); sourceRect sourceView这里俩属性 是所在页面 popover箭头指向sourceRect中心 permittedArrowDirections设置为0即可以不显示箭头 如果想去掉圆角,在弹出控制器添加: - (void)viewWillAppear:(BOOL)animated {
self.view.superview.layer.cornerRadius
= ; }