xamarin.forms - 如何从 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?
解决方案
请参阅从代码中引用本机视图。
#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
.
推荐阅读
- angular - Angular 组件中未调用 RxJs 计时器订阅
- python - 诗歌:使用python时如何找到根库?
- php - 为循环中的每个第 3 项和第 4 项添加一个结束 html 标记
- c++ - C++ std::chrono::high_resolution_clock time_since_epoch 返回的数字太小。如何获得自 1970 年以来的正确时间(以微秒为单位)?
- django - 在 django 的函数中调用序列化程序的更新
- variables - 使用生成字符串的函数覆盖类型为“string”的“defcustom”
- reactjs - 有没有更简单的算法来解决这个表单问题?
- php - WordPress 不断重定向到旧的开发服务器 IP 地址而不是新的开发 IP 地址
- javascript - 浏览器刷新后 Nuxt auth 用户重置
- python - Gattlib 安装有 pip 问题