首页 > 解决方案 > 如何从 Xamarin.Froms.Button 获取 UIButton?

问题描述

我将 Xamarin.Forms 与一些本机 Xamarin 代码混合使用。现在我想从 Xamarin.Forms.Button 中获取一个 UIButton 实例。我怎样才能做到这一点?

Clicked事件处理程序中,我可以看到

    void Share_Clicked(object sender, System.EventArgs e)
    {
        var button = sender as Xamarin.Forms.Button;
        if(button.EffectControlProvider != null)
        {

        }
    }

我可以看到 EffectControlProvider.Controller 实际上是 UIButton 类型,但我无法转换为它。

有没有像 ToNative 这样的函数来获取 UIButton?

标签: xamarin.formsxamarin.iosuibuttoncustom-renderer

解决方案


请参阅从代码中引用本机视图

#if __IOS__
    var wrapper = (Xamarin.Forms.Platform.iOS.NativeViewWrapper)contentViewButtonParent.Content;
    var button = (UIKit.UIButton)wrapper.NativeView;
    button.SetTitle("Scale and Rotate Text", UIKit.UIControlState.Normal);
    button.SetTitleColor(UIKit.UIColor.Black, UIKit.UIControlState.Normal);
#endif

注意:此代码仅用于Shared Access Project.


推荐阅读