1.首先创建vc,并且重新系统方法
- (CGSize)preferredContentSize{
if (self.presentingViewController && self.tableView != nil ) {
CGSize size = self.presentingViewController.view.bounds.size;
size.width = 200;
CGSize size1 = [self.tableView sizeThatFits:size];
return size1;
}else{
return [super preferredContentSize];
}
}
TestNewViewController *test = [[TestNewViewController alloc]init];
test.modalPresentationStyle = UIModalPresentationPopover;
test.popoverPresentationController.barButtonItem = self.navigationItem.rightBarButtonItem;
test.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
test.popoverPresentationController.delegate = self;
[self presentViewController:test animated:YES completion:nil];
3.在这里需要遵循协议,
UIPopoverPresentationControllerDelegate
并且实现方法
-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
{
NSLog(@"%@",controller);
return UIModalPresentationNone;
}
iOS实现系统空间弹窗
本文介绍了如何在iOS中调用系统空间创建弹窗。首先,通过创建VC并重写`preferredContentSize`方法来设置弹窗大小。接着,实例化弹窗VC并设置其模态呈现样式为`UIModalPresentationPopover`,并指定弹窗方向。最后,遵循`UIPopoverPresentationControllerDelegate`协议,并实现`adaptivePresentationStyleForPresentationController`方法,以自定义弹窗的展示风格。
1842

被折叠的 条评论
为什么被折叠?



