【发布时间】:2018-02-12 20:03:34
【问题描述】:
我正在使用 UINavigationItems titleView 属性在我的 ViewController 的 UINavigationBar 的中心设置视图。问题是,当我用相同的titleView 推送另一个 ViewController 时,它会闪烁。
这是我在 ViewControllers 中设置 titleView 的方法
let view = UIView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
view.backgroundColor = .red
self.navigationItem.titleView = view
我能做些什么来防止这种情况发生?
【问题讨论】:
-
如果你设置
self.navigationController?.navigationItem的titleView而不是self.navigationItem呢? -
你在哪里执行上面的代码?视图加载? viewDidAppear?
-
您可以在
viewWillAppear方法中设置titleView,该方法将在视图完全加载之前设置redView,但它仍不会保留在之前的ViewController中,因为有一个根据 UINavigation 中的push或pop在每个viewControllers之间从左到右或从右到左进行动画转换。 -
@karnett 我在两个 ViewController 的父级
UIViewConrtroller内的viewDidLoad中执行它。 -
@Matt.kaaj 我不能禁用过渡动画吗?
标签: ios swift uinavigationbar ios11 uinavigationitem