- (IBAction)ShowMenusView:(id)sender {
UIStoryboard *board=[UIStoryboard storyboardWithName:@"Trade" bundle:nil];
ThreeViewController *Three=[board instantiateViewControllerWithIdentifier:@"Three"];
Three.modalPresentationStyle=UIModalPresentationCustom;
Three.view.backgroundColor=[UIColor greenColor];
Three.transitioningDelegate = self;// 此对象要实现 UIViewControllerTransitioningDelegate 协议
[self presentViewController:Three animated:YES completion:nil];
}
- (UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)presented presentingViewController:(UIViewController *)presenting sourceViewController:(UIViewController *)source{
return [[PresentViewController alloc] initWithPresentedViewController:presented presentingViewController:presenting];
}
- (CGRect)frameOfPresentedViewInContainerView
{
CGFloat windowH = [UIScreen mainScreen].bounds.size.height;
CGFloat windowW = [UIScreen mainScreen].bounds.size.width;
self.presentedView.frame = CGRectMake(0, windowH - 300, windowW-100, 300);
//弹出视图的位置及大小设定
self.presentedView.center=CGPointMake(windowW/2, windowH/2);
return self.presentedView.frame;
}
这篇博客介绍了如何在iOS中利用UIPresentationController实现弹出视图的效果。通过设置modalPresentationStyle为UIModalPresentationCustom,并实现UIViewControllerTransitioningDelegate协议,配合presentationControllerForPresentedViewController方法和frameOfPresentedViewInContainerView方法,可以自定义弹出视图的位置和大小,实现从底部弹出的交互体验。

516

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



