我在ovalView
內有一個imageView
約束與自動佈局。當在ViewDidLayoutSubviews中定義不正確的幀位置
內部viewDidLayoutSubviews()
,我創建一個UILabel
let label = UILabel(frame: imageView.frame)
imageView.superview?.addSubview(label)
標籤的幀稍微示出了從ImageView的偏心。
但是,如果我將上述代碼移動到viewDidAppear()
之內,那麼label完全集中於imageView,但用戶看到的是不希望的更改。
如何讓我的代碼保存在viewDidLayoutSubviews()
中並使其工作?
你知道,設定框架改變原產地,是視圖的左上角錨?也就是說,您必須減去標籤寬度的一半才能將其居中在x軸上。 – LinusGeffarth
爲什麼它在ViewDidAppear中工作呢? – Kashif