ios - 是否可以使用完成 block 推送 View Controller ?

标签 ios uiviewcontroller uinavigationcontroller pushviewcontroller

UINavigationController 的文档不包含带有 completion: 参数的 pushViewController 方法。

最佳答案

更好的解决方案是用 CATransaction 包装推送动画并设置 completionBlock。无需处理时间问题。

[CATransaction begin];
[CATransaction setCompletionBlock:^{
    //whatever you want to do after the push
}];
[[self navigationController] pushViewController:viewController animated:YES];
[CATransaction commit];

关于ios - 是否可以使用完成 block 推送 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21743780/

相关文章:

ios - 在 iOS swift 4.2 中更改 Root View Controller 时状态栏突然隐藏

ios - 无法使用 Swift 通过导航 Controller 返回到另一个导航 Controller 的 VC

ios - 如何让从 Storyboard 中实例化的 UIViewCojntroller 嵌入到 UINavigationController 中

ios - 是什么导致 UIToolbar 中出现重影 UIBarButtonItems?

iphone - 将 double 组存储为 NSNumber

ios - 异步 DNS 查找

ios - 使用标签栏从另一个 View 返回时如何重新加载 View Controller

ios - View 未完全释放

ios - 在 iOS 应用程序中加载图像时颜色发生变化?

ios - 您能否要求用户为 iOS 应用程序设置设备密码?