Ios UISegmentedControl作为UINavigationBar标题项在延迟后加载
自从我更新到Xcode8/iOS10和swift3之后,我就有了一个奇怪的问题,那就是用作导航栏标题的分段控件。。它需要一些时间才能出现。或者我可以触摸该区域(当时不可见),它就会出现 我相信该项目已加载,但只是没有绘制,然后通过触摸该区域或由于事件循环要求查看重画,它得到了绘制 UI未被阻止 找不到解决的办法 PS:无法在新项目上复制 打破调试视图层次结构,它显示UISegmentedControls有效,但未使用颜色/文本初始化。。然后,几秒钟后就会发生Ios UISegmentedControl作为UINavigationBar标题项在延迟后加载,ios,swift,xcode,uinavigationbar,uisegmentedcontrol,Ios,Swift,Xcode,Uinavigationbar,Uisegmentedcontrol,自从我更新到Xcode8/iOS10和swift3之后,我就有了一个奇怪的问题,那就是用作导航栏标题的分段控件。。它需要一些时间才能出现。或者我可以触摸该区域(当时不可见),它就会出现 我相信该项目已加载,但只是没有绘制,然后通过触摸该区域或由于事件循环要求查看重画,它得到了绘制 UI未被阻止 找不到解决的办法 PS:无法在新项目上复制 打破调试视图层次结构,它显示UISegmentedControls有效,但未使用颜色/文本初始化。。然后,几秒钟后就会发生 好,这是由于线程造成的 加载时我
好,这是由于线程造成的 加载时我的应用程序正在初始化核心数据堆栈。在回调时,我正在使用
window.rootViewController=vc
实例化右视图控制器,这需要在主线程上执行,但核心数据堆栈init的完成是在后台启动的
有些奇怪的事。我实现了一个UIWindow扩展
extension UIWindow {
func setRootViewController(with viewController: UIViewController) {
DispatchQueue.main.async {
self.rootViewController = viewController
}
}
}
// beeing in background thread
self.window.setRootViewController(with: self.rootVC)
这将产生以下问题
但下一步将会奏效
extension UIWindow {
func setRootViewController(with viewController: UIViewController) {
self.rootViewController = viewController
}
}
// beeing in background thread
DispatchQueue.main.async {
self.window.setRootViewController(with: self.rootVC)
}
不知道有什么区别。好的,这是由于线程造成的 加载时我的应用程序正在初始化核心数据堆栈。在回调时,我正在使用
window.rootViewController=vc
实例化右视图控制器,这需要在主线程上执行,但核心数据堆栈init的完成是在后台启动的
有些奇怪的事。我实现了一个UIWindow扩展
extension UIWindow {
func setRootViewController(with viewController: UIViewController) {
DispatchQueue.main.async {
self.rootViewController = viewController
}
}
}
// beeing in background thread
self.window.setRootViewController(with: self.rootVC)
这将产生以下问题
但下一步将会奏效
extension UIWindow {
func setRootViewController(with viewController: UIViewController) {
self.rootViewController = viewController
}
}
// beeing in background thread
DispatchQueue.main.async {
self.window.setRootViewController(with: self.rootVC)
}
不知道有什么区别。第二个视图是如何绘制的?您在实际设备上测试过这个吗?模拟器(至少对我来说)在试图在GPU上做任何事情时,都会受到严重的性能影响。也许这是你们不应该担心的事情?问题在于模拟器和设备。这个分段控件实际上没有绑定到任何东西。第二个视图是如何绘制的?您在实际设备上测试过这个吗?模拟器(至少对我来说)在试图在GPU上做任何事情时,都会受到严重的性能影响。也许这是你们不应该担心的事情?问题在于模拟器和设备。这个分段控件实际上没有绑定到任何东西