【发布时间】:2015-09-23 20:20:37
【问题描述】:
我编写了一个使用多个视图的 iOS 应用程序。由于我不想使用故事板,所以我创建了一组视图(xib 文件)和相应的 ViewController(扩展 UIViewController 的 swift 文件)。
创建视图时将所有“模拟指标”设置为推断,“使用自动布局”已打开,“使用大小类”也已打开。对于每个元素,都设置了约束,没有错误。
在 AppDelegate.swift 的 func application(application: UIApplication, didFinishLaunchingWithOptions ...) 中,我启动了我的 ViewControllers,例如经过
connectVC = ConnectViewController(nibName: "ConnectView", bundle: nil)
在用户操作(例如按钮单击)和网络操作(例如游戏开始)时,我通过更改 AppDelegate.swift 中的 window.rootViewController 以编程方式使用动画切换视图,确切地说是 like here,但在 Swift 中。
到目前为止,一切都很好。但是每当我第一次显示视图时,视图都会像在我的 Xcode 界面构建器中一样显示缩放/大小,然后在大约半秒到一秒后调整到设备屏幕的正确大小。这发生在 iOS 模拟器和我的真 iPhone 上。
视图在 UIImageViews 中使用了很多图像,但降低分辨率或图片数量不会改变这种行为。
我想加快调整大小,理想情况下,用户不应该在我的视图中看到任何元素大小的调整。我该怎么做?
【问题讨论】:
-
我认为故事板是最好的选择,并且不要更改根视图控制器。你在哪里写了关于 side 的代码?
-
可能是线程问题。您可以尝试使用类似
dispatch_async(dispatch_get_main_queue(), {YOUR_CODE}) -
好吧,我发现如果我不使用
UIView.transitionFromView(),一切看起来都很好。此外,当使用UIView.transitionFromView()和选项.ShowHideTransitionViews时,它会正确调整大小,但会变黑,看起来不太好。
标签: ios iphone xcode swift model-view-controller