Xamarin iOS移动UI按钮及其单击区域

Xamarin iOS移动UI按钮及其单击区域,ios,xamarin,Ios,Xamarin,我在视图中有一个UIButton,并为此按钮使用UIAPTgestureRecognitor。 我有一个按钮移动的问题:当我点击它,我想改变按钮Y坐标(提高或降低按钮) 我尝试在单击按钮后执行此操作: View.Frame = new RectangleF (0, topOffset, 320, 40); 或 用户界面移动良好,但单击该区域仍保持在原来的位置或向下伸展。 我希望点击区域是有限的周边按钮 有什么想法吗? 谢谢。与其为UIButton使用UIAPTgestureRecognito

我在视图中有一个UIButton,并为此按钮使用UIAPTgestureRecognitor。
我有一个按钮移动的问题:当我点击它,我想改变按钮Y坐标(提高或降低按钮)

我尝试在单击按钮后执行此操作:

View.Frame = new RectangleF (0, topOffset, 320, 40); 

用户界面移动良好,但单击该区域仍保持在原来的位置或向下伸展。 我希望点击区域是有限的周边按钮

有什么想法吗?
谢谢。

与其为UIButton使用UIAPTgestureRecognitor,为什么不使用可用的按钮单击事件:

myButton.TouchUpInside += HandleButtonTouchUpInside;

void HandleButtonTouchUpInside (object sender, EventArgs e)
{
myButton.Frame = new RectangleF(myButton.Frame.X, myButton.Frame.Y + _topOffset, myButton.Frame.Width, myButton.Frame.Height);

}
如果要设置更改的动画,只需将其按如下方式包装:

UIView.Animate (0.5f, delegate {
    // put the frame change in here
});
更好的解决方案是在按钮上使用AutoLayout约束,并通过一些动画在HandleButtoTouchInside方法中更新它们

并记住在ViewWillEnglish中取消钩住事件处理程序:

myButton.TouchUpInside -= HandleButtonTouchUpInside;
myButton.TouchUpInside -= HandleButtonTouchUpInside;