Я хочу программно центрировать представление как по вертикали, так и по горизонтали внутри UIContinerView. Так что я пытался..
UIView view = new UIView(new CGRect(0,0,100,100));
view.Center = new CGPoint(controller.View.Bounds.GetMidX(), controller.View.Bounds.GetMidY());
view.BackgroundColor = UIColor.Orange;
controller.View.AddSubview(view)
Но это то, что я получаю (на скриншоте ниже) явно не по центру по вертикали. ContainerView — это область под TabBar в нижней части экрана. Без ContainerView приведенный выше код работает.
Я попытался добавить ограничения по центру по вертикали и горизонтали в раскадровке. тогда это работает, но не программно... пожалуйста, помогите
Я также пробовал:
CGPoint center = view.Center;
center.X = controller.View.Center.X;
center.Y = controller.View.Center.Y;
view.Center = center;
но тот же эффект
viewDidLoad
, то размер представления, вероятно, не является окончательным. Я бы предложил либо использовать ограничения, либо установить центр вviewDidLayoutSubviews
. - person EmilioPelaez   schedule 17.08.2016