Xamarin.iOS - 操作表行号

Posted

技术标签:

【中文标题】Xamarin.iOS - 操作表行号【英文标题】:Xamarin.iOS - Action Sheet Line Numbers 【发布时间】:2018-09-10 12:57:59 【问题描述】:

我有这种情况:我的操作表有不同的文本大小,如 this question,但尝试从 xamarin ios 访问此 API,我找不到该属性:

UILabel.appearance(whenContainedInInstancesOf: [UIAlertController.self]).numberOfLines = 2

阅读this question,@SushiHangover 回答,Xamarin 有很多隐藏的 API,通过代码,我想我可以实现所需的行为。

那么,在 Xamarin.iOS 中,如何强制我的操作表选项包含两行或多行文本?我不熟悉 iOS 内部或 Objective-C。

我试图找到该属性的属性名称并尝试 Sushi 的解决方案,但没有成功。

【问题讨论】:

【参考方案1】:

我找到了解决办法:

在他的回答中使用 SushiHangover 的解决方案,我可以使用以下代码实现所需的行为:

var styleHandle = IosUtils.GetAppearanceEx(Class.GetHandle("UILabel"), typeof(UIAlertController));
        IosUtils.void_objc_msgSend_IntPtr(styleHandle, Selector.GetHandle("setNumberOfLines:"), ((NSNumber)2).Handle);

我无法确定是否是最好的解决方案,但我可以做我需要的。

【讨论】:

以上是关于Xamarin.iOS - 操作表行号的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Forms - 从 2017 年到 2019 年更新 Visual Studio 后 iOS 上的奇怪行为

Xamarin iOS 中的可操作推送通知

Xamarin.ios 刷新按钮

在 Xamarin iOS 中的远程通知的“默认用户操作”上推送视图控制器

永久允许 Xamarin iOS 应用接受传入连接(Xamarin 测试云代理)

如何使用 AutoLayout (iOS/Xamarin.iOS) 使 ScrollView 适合其内容?