Xamarin 中的 UILongPressGestureRecognizer IOS
UILongPressGestureRecognizer in Xamarin IOS
我目前正在使用按钮上的“按住”,这是我的代码:
public override void AwakeFromNib()
{
base.AwakeFromNib();
longp = new UILongPressGestureRecognizer(LongPress);
button.AddGestureRecognizer(longp);
}
public void LongPress()
{
if (a == true)
{
a = false;
}
else
{
a = true;
}
// stop recognizing long press gesture here
}
问题是因为我是 运行 一个更改值的切换方法,它所做的只是向方法 LongPress 发送垃圾邮件,我如何取消或更改值后停止持有?
更新
我已经设法让它工作了,这是我的代码示例:
public void LongPress(UILongPressGestureRecognizer g)
{
if (g.State == UIGestureRecognizerState.Began)
{
if (a == true)
{
a = false;
}
else
{
a = true;
}
}
}
尝试将 UILongPressGestureRecognizer
作为参数传递给 LongPress
方法,并在您想要停止它时更改其 State
。
示例代码
public void LongPress(UILongPressGestureRecognizer g)
{
if (a == true)
{
a = false;
}
else
{
a = true;
}
// stop recognizing long press gesture here
g.State = UIGestureRecognizerState.Ended;
}
我目前正在使用按钮上的“按住”,这是我的代码:
public override void AwakeFromNib()
{
base.AwakeFromNib();
longp = new UILongPressGestureRecognizer(LongPress);
button.AddGestureRecognizer(longp);
}
public void LongPress()
{
if (a == true)
{
a = false;
}
else
{
a = true;
}
// stop recognizing long press gesture here
}
问题是因为我是 运行 一个更改值的切换方法,它所做的只是向方法 LongPress 发送垃圾邮件,我如何取消或更改值后停止持有?
更新
我已经设法让它工作了,这是我的代码示例:
public void LongPress(UILongPressGestureRecognizer g)
{
if (g.State == UIGestureRecognizerState.Began)
{
if (a == true)
{
a = false;
}
else
{
a = true;
}
}
}
尝试将 UILongPressGestureRecognizer
作为参数传递给 LongPress
方法,并在您想要停止它时更改其 State
。
示例代码
public void LongPress(UILongPressGestureRecognizer g)
{
if (a == true)
{
a = false;
}
else
{
a = true;
}
// stop recognizing long press gesture here
g.State = UIGestureRecognizerState.Ended;
}