Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 7、iOS 9和Swift 2.0使得ViewController的生命周期非常奇怪_Ios_Swift - Fatal编程技术网

Xcode 7、iOS 9和Swift 2.0使得ViewController的生命周期非常奇怪

Xcode 7、iOS 9和Swift 2.0使得ViewController的生命周期非常奇怪,ios,swift,Ios,Swift,在Swift 2.0中,我推一个ViewController,VC是从Xib初始化的,问题来了:VC加载非常慢。如果我在VC的ViewDidLoad中执行某些操作,VC显示可能需要5秒或更长时间 IOS 9在使用SizeClass之前,VC视图的大小在ViewWillDisplay中是正确的,但在IOS 9中,视图的大小在ViewWillDisplay中实际上是600*600,只有在ViewDidDisplay中才能获得正确的大小,现在很多操作无法写入,无法写入ViewDidLoad或ViewW

在Swift 2.0中,我推一个ViewController,VC是从Xib初始化的,问题来了:VC加载非常慢。如果我在VC的ViewDidLoad中执行某些操作,VC显示可能需要5秒或更长时间

  • IOS 9在使用SizeClass之前,VC视图的大小在ViewWillDisplay中是正确的,但在IOS 9中,视图的大小在ViewWillDisplay中实际上是600*600,只有在ViewDidDisplay中才能获得正确的大小,现在很多操作无法写入,无法写入ViewDidLoad或ViewWillDisplay中,只能在ViewDidDisplay中写入


  • 你最好改用。不建议对与帧相关的操作使用ViewWillDisplay。

    完全不建议
    viewDidLoad
    每个VC调用一次,是初始化一些不会更改的翻译标签的好地方。例如,我需要在ViewWillLayoutSubView中添加一些子视图,但是这种方法被多次调用,如何解决这个问题?
    viewWillLayoutSubviews
    被多次调用是有充分理由的-例如,如果您更改方向,您的子视图将再次以不同的维度“布局”,您可能需要尊重这些维度。为了只解决一个问题,您可以使用布尔标志或使用dispatch_一次。