Ios 为什么在viewDidLoad()中设置UIimage的.center没有明显效果?
有人能告诉我原因吗?请尝试将有问题的行放入Ios 为什么在viewDidLoad()中设置UIimage的.center没有明显效果?,ios,swift,Ios,Swift,有人能告诉我原因吗?请尝试将有问题的行放入viewdilayoutsubviews,如下所示: import UIKit class ViewController: UIViewController { @IBOutlet var Label: UILabel! @IBOutlet weak var whiteboxselector: UIImageView! @IBOutlet var profilebutton: UIImageView! @IBOutlet
viewdilayoutsubviews
,如下所示:
import UIKit
class ViewController: UIViewController {
@IBOutlet var Label: UILabel!
@IBOutlet weak var whiteboxselector: UIImageView!
@IBOutlet var profilebutton: UIImageView!
@IBOutlet var friendsbutton: UIImageView!
@IBOutlet var smallcircle: UIImageView!
// These are my outlets
override func viewDidLoad() {
super.viewDidLoad()
Label.text = "Loaded"
print("Loaded")
// This is the line that runs but doesn't do anything
whiteboxselector.center = self.friendsbutton.center
}
}
这里有更多的细节
此外,为了可读性,您需要在camelCase中编写变量。尝试将有问题的行放入
viewdilayoutsubview
,如下所示:
import UIKit
class ViewController: UIViewController {
@IBOutlet var Label: UILabel!
@IBOutlet weak var whiteboxselector: UIImageView!
@IBOutlet var profilebutton: UIImageView!
@IBOutlet var friendsbutton: UIImageView!
@IBOutlet var smallcircle: UIImageView!
// These are my outlets
override func viewDidLoad() {
super.viewDidLoad()
Label.text = "Loaded"
print("Loaded")
// This is the line that runs but doesn't do anything
whiteboxselector.center = self.friendsbutton.center
}
}
这里有更多的细节
此外,为了可读性,您需要在camelCase中编写变量。ViewDidLoad()在UIViewController加载到内存中时被调用。此时不需要设置子视图并将其添加到视图层次结构中。
两种方式:
a) 在viewDid/Will中显示(不太好,称为多次,所以你应该采取懒惰的行为)
b) 使用Adrian方法,使用Sign viewDidLayoutSubviews,这是另一个优势:例如,您可以根据新方向调整对齐方式。。。
c) 在情节提要中对齐…当UIViewController加载到内存中时,调用ViewDidLoad()。此时不需要设置子视图并将其添加到视图层次结构中。
两种方式:
a) 在viewDid/Will中显示(不太好,称为多次,所以你应该采取懒惰的行为)
b) 使用Adrian方法,使用Sign viewDidLayoutSubviews,这是另一个优势:例如,您可以根据新方向调整对齐方式。。。
c) 在情节提要中对齐…无论是否编写脚本,swift都会使用camelcase明确说明,请参见:。它清楚地指出:“遵循大小写约定。类型和协议的名称是大写的。其他所有内容都是小写的。”无论是否使用脚本,swift都清楚地使用了camelcase,请参见:。它明确指出:“遵循大小写约定。类型和协议的名称是大写的。其他所有内容都是小写的。”