Xamarin Forms:发送到实例的无法识别的选择器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin Forms:发送到实例的无法识别的选择器相关的知识,希望对你有一定的参考价值。

我有一个自定义导航渲染器,应该在滑动时隐藏条形:

[assembly: ExportRenderer(typeof(CNavigationPage), typeof(CNavigationRenderer))]
namespace TabbedPageDemo.ios
{
    class CNavigationRenderer : NavigationRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                this.HidesBarsOnSwipe = true;
                this.BarHideOnSwipeGestureRecognizer.AddTarget(this, new Selector("swipeGesture:"));
            }
        }
    }
}

在PCL中,MainPage设置为选项卡式页面。每个选项卡都是CNavigationPage的实例。当我运行项目时,我得到:

Objective-C e
xception thrown.  Name: NSInvalidArgumentException Reason: -[TabbedPageDemo_iOS_CNavigationRenderer swipeGesture:]: unrecognized selector sent to instance

有谁知道为什么swipeGesture不被认可?

答案

您将在IDE中看到以下内容。查看 - >填充 - >工具箱,在工具箱中,属性 - >事件..在同一个控件上应该有另一个控制器事件,你没有做。

以上是关于Xamarin Forms:发送到实例的无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewController 无法识别的选择器发送到实例

UISwipeGesture '发送到实例的无法识别的选择器'

无法识别的选择器发送到实例

[UICollectionViewCell imageView]:无法识别的选择器发送到实例

无法识别的选择器发送到数组中的实例[重复]

如何解决“发送到实例的无法识别的选择器”?