c# - 如何在 Xamarin iOS 13.2 应用程序中禁用弹性反弹?
问题描述
我有一个在滚动时反弹的 webview。以前我通过实现自定义渲染器禁用了它。
protected override void OnElementChanged(ElementChangedEventArgs<FormsWebView> e)
{
base.OnElementChanged(e);
if(Control != null)
{
Control.ScrollView.Bounces = false;
}
}
但更新到 13.2 后,上述修复不起作用。
谁能建议解决此问题的最佳方法?
解决方案
如果您还使用UIWebView来实现它,您可以更改为使用WKWebView。因为 AppleUIWebView
从 iOS 13 弃用了。
[assembly: ExportRenderer(typeof(HybridWebView), typeof(HybridWebViewRenderer))]
namespace CustomRenderer.iOS
{
public class HybridWebViewRenderer : WkWebViewRenderer
{
public HybridWebViewRenderer() : this(new WKWebViewConfiguration())
{
}
public HybridWebViewRenderer(WKWebViewConfiguration config) : base(config)
{
}
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
ScrollView.Bounces = false;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
((HybridWebView)Element).Cleanup();
}
base.Dispose(disposing);
}
}
}
它在我的本地站点中的工作方式如下:
推荐阅读
- c++ - 无法在 Visual Studio 的 C++ 中使用graphic.h
- html - 停止 CSS 过渡在页面加载时运行
- etl - 在运行时更新 Talend 中的设计工作流程
- python - Python新手:如何在我的程序中定义'nl'?
- python - 使用python跟踪字典中的元素
- javascript - 为什么 node.js 不能在我的任何应用程序中为我工作?生命周期错误
- python - python2.7中tf.gather_nd中的星号上升语法错误
- django - Django 忽略 500 个错误
- reactjs - 坐标更改后自定义标记不重新渲染
- amazon-web-services - AWS网关许多API路由到单个lambda集成每个端点映射到不同的Lambda函数(java)