Я работаю над приложением, в котором пользователь может перетащить вид пальцем и изменить его центральную точку.
Но у меня возникает проблема, если я создаю этот вид перетаскивания с автоматическим макетом.
В настоящее время я применяю его ширину по высоте и ограничения по центру программно.
Но нет способа обновить ограничение центра для конкретной точки в представлении.
Вот так я применяю ограничение центра относительно его SuperView.
// Set center constraints
labelControl.CenterXAnchor.ConstraintEqualTo(this.CenterXAnchor).Active = true;
labelControl.CenterYAnchor.ConstraintEqualTo(this.CenterYAnchor).Active = true;
// On Pangesture
this.AddGestureRecognizer(new UIPanGestureRecognizer((recognizer) =>
{
CGPoint translation = recognizer.TranslationInView(recognizer.View.Superview);
CGPoint newCenter = new CGPoint(lastLocation.X + translation.X, lastLocation.Y + translation.Y);
//this.Center = newCenter; // This does not work as we have applied constraints.
CenterXConstraint.Constant = newCenter.X;
CenterYConstraint.Constant = newCenter.Y;
}));