![](/img/trans.png)
[英]Setting the content size of my UIScrollView in viewDidLoad/viewWillAppear has no effect - why?
[英]Why does setting the .center of a UIimage in viewDidLoad() have no visible effect?
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
}
}
誰能告訴我為什么?
嘗試將有問題的行放在viewDidLayoutSubviews
,如下所示:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
whiteBoxSelector.center = self.friendsButton.center
}
這里有關於viewDidLayoutSubviews()
的更多細節。
另外,為了便於閱讀,您需要在camelCase中編寫變量。
當UIViewController加載到內存時調用ViewDidLoad()。 此時,您的子視圖絕不會被設置並添加到視圖層次結構中。 兩種方式:a)使它在viewDid / Will出現(不太好,被稱為更多次,所以你應該采取懶惰行為)b)使用Adrian方法,使用viewDidLayoutSubviews,這是另一個優點:你可以例如調整對齊基於新方向... c)在故事板中對齊...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.