【发布时间】:2025-11-26 03:35:01
【问题描述】:
我正在开发一个应用程序,用户可以用手指拖动视图并更改其中心点。
但如果我使用自动布局创建该拖动视图,我将面临一个问题。
目前,我正在以编程方式应用其高度宽度和中心约束。
但是没有办法将中心约束更新到视图中的特定点。
这就是我对其 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;
}));
【问题讨论】:
标签: ios xamarin.ios uipangesturerecognizer