zla*_*ajo 3 uinavigationbar uinavigationcontroller ios
我有以下问题:我已经覆盖popViewControllerAnimated:(BOOL)animated了UINavigationController因为我想要一个自定义动画.代码如下:
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
UIViewController *poppedCtrl = [super popViewControllerAnimated:NO];
[((customViewController *) self.topViewController) doCustomAnimation];
return poppedCtrl;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,UINavigationBar似乎忽略了我明确禁用内置动画并且它仍然是动画的.
我还需要做些什么才能阻止导航栏的动画?
zla*_*ajo 11
经过一些阅读和一些实验,我终于找到了实现所需行为需要做的事情.
要防止导航栏被动画,仅覆盖是不够的(UIViewController *)popViewControllerAnimated:(BOOL)animated.
还需要创建自定义导航栏并覆盖(UINavigationItem *)popNavigationItemAnimated:(BOOL)animated:
- (UINavigationItem *)popNavigationItemAnimated:(BOOL)animated {
return [super popNavigationItemAnimated:NO];
}
Run Code Online (Sandbox Code Playgroud)
当然,这个自定义导航栏也必须是使用的导航栏(我刚刚更换了导航控制器在界面构建器中使用的导航栏).
| 归档时间: |
|
| 查看次数: |
4150 次 |
| 最近记录: |