UIPopViewController的应用
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
网友评论