使用UINavigationController进行iOS 7自定义当前转换

使用UINavigationController进行iOS 7自定义当前转换,第1张

概述我正在使用iOS 7自定义转换来呈现UINavigationController. 但有一个问题.虽然它的动画,导航栏的大小只有44个点.完成动画后,导航控制器发现有状态栏,因此状态栏增加了20个点. 我的问题是,是否有可能在其动画时将导航栏设置为64磅,因此在完成动画时它不会再改变. 请在这里查看更多细节Custom View Transitions 这是我的自定义动画代码: - (void)a 我正在使用iOS 7自定义转换来呈现UINavigationController.
但有一个问题.虽然它的动画,导航栏的大小只有44个点.完成动画后,导航控制器发现有状态栏,因此状态栏增加了20个点.

我的问题是,是否有可能在其动画时将导航栏设置为64磅,因此在完成动画时它不会再改变.

请在这里查看更多细节Custom View Transitions

这是我的自定义动画代码:

- (voID)animateTransition:(ID<UIVIEwControllerContextTransitioning>)TransitionContext{    UIVIEwController *toVIEwController = [TransitionContext vIEwControllerForKey:UITransitionContextToVIEwControllerKey];    CGRect finalFrame = [TransitionContext finalFrameForVIEwController:toVIEwController];    UIVIEw *containerVIEw = [TransitionContext containerVIEw];    CGRect screenBounds = [[UIScreen mainScreen] bounds];    toVIEwController.vIEw.frame = CGRectOffset(finalFrame,screenBounds.size.height);    [containerVIEw addSubvIEw:toVIEwController.vIEw];    NSTimeInterval duration = [self TransitionDuration:TransitionContext];    [UIVIEw animateWithDuration:duration delay:0.0 usingSpringWithdamPing:0.6 initialSpringVeLocity:0.0 options:UIVIEwAnimationoptionCurvelinear animations:^{        toVIEwController.vIEw.frame = finalFrame;    } completion:^(BOol finished) {        [TransitionContext completeTransition:YES];    }];}

更新:有人解决了这个问题.但非常Hacky.
将toVIEwController.vIEw添加到containerVIEw后添加此代码.

if ([toVIEwController isKindOfClass:[UINavigationController class]]) {    UINavigationController* navigationController = (UINavigationController*) toVIEwController;    UINavigationbar* bar = navigationController.navigationbar;    CGRect frame = bar.frame;    bar.frame = CGRectMake(frame.origin.x,frame.origin.y + 20.0f,frame.size.wIDth,frame.size.height);}

有更好的方法吗?

解决方法 我有同样的问题,并解决了在设置此框架之前将t​​oVIEwController添加到容器.

反转如下的行:

[containerVIEw addSubvIEw:toVIEwController.vIEw];toVIEwController.vIEw.frame = CGRectOffset(finalFrame,screenBounds.size.height);
总结

以上是内存溢出为你收集整理的使用UINavigationController进行iOS 7自定义当前转换全部内容,希望文章能够帮你解决使用UINavigationController进行iOS 7自定义当前转换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1100988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存