UIAccessibilityCustomAction

UIAccessibilityCustomAction

我正在尝试在Xamarin.iOS中创建UIAccessibilityCustomAction。此方法需要name, target, selector作为参数(如您所见here)。问题出在selector参数上。

在Xcode中(使用Swift),我可以像这样轻松实现它:

let up = UIAccessibilityCustomAction(name: "Increment", target: self, selector: #selector(increment))


@objc private func increment() -> Bool{
    //selector implementation
}

在Xamarin(使用C#)中,我尝试了以下操作:
UIAccessibilityCustomAction up = new UIAccessibilityCustomAction(name: "Increment", target: iospage, selector: new Selector("Increment"));

据说Selector可以同时接受StringIntPtr作为参数。由于我不知道IntPtr是什么以及如何使用它,因此我尝试使用String参数(如您在上面看到的那样),并且我尝试在this answer之后实现这样的选择器。
[Export("Increment")]
    private void Increment()
    {
        //selector implementation
    }

问题在于,似乎从未调用过此方法(我试图在调用UIAccessibilityCustomAction时使它记录某些内容,但未显示任何日志),可能是因为它是错误的实现方式。

任何想法?

谢谢

最佳答案

UIAccessibilityCustomAction还有另一个实例化方法,您可以向其中传递自定义操作。

 UIAccessibilityCustomAction c = new UIAccessibilityCustomAction("Increment",
        (UIAccessibilityCustomAction customAction) =>
        {

               //selector implementation
        });

10-08 14:15