美文网首页
UIPopViewController的应用

UIPopViewController的应用

作者: 狒狒James_Leo | 来源:发表于2017-09-14 11:03 被阅读0次
1.在功能VC里重写这个方法
//重写preferredContentSize,返回popover的大小
- (CGSize)preferredContentSize {
    if (self.presentingViewController && self.tableView != nil) {
        CGSize tempSize = self.presentingViewController.view.bounds.size;
        tempSize.width = 150;
        CGSize size = [self.tableView sizeThatFits:tempSize];  //sizeThatFits返回的是最合适的尺寸,但不会改变控件的大小
        return size;
    }else {
        return [super preferredContentSize];
    }
}


2.在目标按钮的点击方法中添加一下代码(目标VC<想要展示的VC>)
    self.itemPopVC.modalPresentationStyle = UIModalPresentationPopover;
    
    UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:sender];
    
    self.itemPopVC.popoverPresentationController.barButtonItem = item;
    //箭头方向
    self.itemPopVC.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionAny;
    //代理
    self.itemPopVC.popoverPresentationController.delegate = self;
    [self.myVC presentViewController:_itemPopVC animated:YES completion:nil];

代理方法
-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
{
    return  UIModalPresentationNone;
}

记得签订协议<UIPopoverPresentationControllerDelegate>



A 模态弹出B  那么A为presentingViewController B为presentedViewController

相关文章

网友评论

      本文标题:UIPopViewController的应用

      本文链接:https://www.haomeiwen.com/subject/mygsyttx.html