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