Я пишу приложение для iOS, используя swift 4.2.Я хочу добавить пользовательский вид как подпредставление вида ViewController в центре.Я устанавливаю кадр моего пользовательского представления в функции viewDidAppear.В этой функции источник представления «неправильный» - (64; 0) вместо (0; 0).
Вот мой код:
private var blurEffectView: UIVisualEffectView!
private var profileInputView: ProfileInputView!
override func viewDidLoad() {
profileInputView = ProfileInputView.init()
profileInputView.setDelegate(profileInputViewDelegate: self)
blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffect.Style.prominent))
setupViewsFinished = true
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if !setupViewsFinished { return }
blurEffectView.frame = view.frame
blurEffectView.center = view.center
profileInputView.frame = blurEffectView.frame
profileInputView.frame.size = CGSize.init(width: blurEffectView.frame.width * 0.8, height: blurEffectView.frame.height * 0.8)
profileInputView.center = blurEffectView.center
}
func showInputView(with description: String) {
profileInputView.configure(with: description)
blurEffectView.contentView.addSubview(profileInputView)
view.addSubview(blurEffectView)
}
func hideInputView(with description: String) {
profileInputView.removeFromSuperview()
blurEffectView.removeFromSuperview()
}
Я поставил точку отладкив viewDidAppear и напечатанное начало кадра представления:
po view.frame.origin
результат: ▿ (0.0, 64.0) - x: 0.0 - y: 64.0
Я хочу поместить свой пользовательский вид в центр, но он расположен ниже, а его нижняя часть не видна.
Что я делаю не так?
PS: результат такой же без использования UIVisualEffectView