【发布时间】:2018-01-17 22:41:46
【问题描述】:
这篇博客描述了如何执行shake to undo,但是我想创建某种可以重用此代码的基类(以 Xamarin 形式):
#region respond to shaking (OS3+)
public override bool CanBecomeFirstResponder {
get {
return true;
}
}
public override void ViewDidAppear (bool animated)
{
base.ViewDidAppear (animated);
this.BecomeFirstResponder();
}
public override void ViewWillDisappear (bool animated)
{
this.ResignFirstResponder();
base.ViewWillDisappear (animated);
}
public override void MotionEnded (UIEventSubtype motion, UIEvent evt)
{
Console.WriteLine("Motion detected");
if (motion == UIEventSubtype.MotionShake)
{
Console.WriteLine("and was a shake");
// Do your application-specific shake response here...
Update();
}
}
#endregion
我不确定从哪里开始...创建一个仅适用于 iOS 的基类。
对于所有视图的基类的此运行时实现,是否有任何类型的依赖注入可以与 XamarinForms 一起使用?
【问题讨论】:
-
您可以创建一个通用的 BasePage 类,所有页面都从该类继承,并且它们使用自定义渲染器仅在 iOS 上添加抖动行为
-
您在哪里实施 Shake To Undo?它默认为 iOS 的
Xamarin.Forms.Entry控件实现。 -
@BrandonMinnick 想要的效果是让这个弹出窗口适用于所有其他情况:
"Would you like to submit a bug report?" -
知道了!因此,您正在寻找 Xamarin.Forms 以在用户摇动设备时显示弹出警报。对吗?
-
LamonteCristo - 如果您想要实现以下示例代码,请告诉我!我总是可以调整答案来帮助你!
标签: xamarin.ios xamarin.forms prism