如何在目标c中弹出弹出全视图?
Posted
技术标签:
【中文标题】如何在目标c中弹出弹出全视图?【英文标题】:How to do Pop in Popout whole view in objective c? 【发布时间】:2017-12-28 05:59:35 【问题描述】:作为 iPad 应用程序,我在 ViewController 中有四个视图。每个视图都有不同的按钮和图表控制器。当用户单击我需要弹出整个视图的特定视图时,我需要这样做。我怎样才能实现这一点任何帮助?
【问题讨论】:
【参考方案1】:要以正确的方式做到这一点,我建议用一点动画弹出你的视图。 首先在 .h 文件中添加 CAAnimationDelegate:
@interface ViewController : UIViewController <CAAnimationDelegate>
然后在您的 .m 文件中
CABasicAnimation *goOut = [CABasicAnimation animationWithKeyPath:@"position"];
goOut.delegate = self;
// Choose animation duration in seconds, 0 if you dont want.
[goOut setDuration:0.5];
[goOut setRepeatCount:0];
// You can play with A and B to specify the direction from where your VIEW will leave the screen
[goOut setToValue:[NSValue valueWithCGPoint:CGPointMake(VIEW.center.x + A, VIEW.center.y + B)]];
[VIEW.layer addAnimation:goOut forKey:@"position"];
最后只是隐藏视图
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
if (flag)
[VIEW setHidden:YES];
现在,如果您希望 VIEW 更改其框架并获得屏幕尺寸,只需更改
CABasicAnimation *goOut = [CABasicAnimation animationWithKeyPath:@"position"];
[goOut setToValue:[NSValue valueWithCGPoint:CGPointMake(VIEW.center.x + A, VIEW.center.y + B)]];
[VIEW.layer addAnimation:goOut forKey:@"position"];
到
CABasicAnimation *goOut = [CABasicAnimation animationWithKeyPath:@"bounds.size"];
[goOut setToValue: [NSValue valueWithCGSize:CGSizeMake(self.view.frame.size.width,self.view.frame.size.height)]];
[VIEW.layer addAnimation:goOut forKey:@"bounds.size"];
在这种情况下不要隐藏你的视图;)
【讨论】:
Mohamed Sadock 我需要再创建一个视图吗? 不,不需要。只需将 VIEW 替换为点击的视图以上是关于如何在目标c中弹出弹出全视图?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 如何在 SwiftUI 中弹出到特定视图?
如何在 swiftui 中弹出到 TabView 应用程序中的特定视图。我也使用了 StackNavigation 但不在 swiftui 中工作