我的应用程序是使用 Xamarin.iOS 开发的,我需要使其可访问。我们在 xamarin.iOS 中找不到任何帮助来实现大文本可访问性。我找到了这个链接,它解释了如何在 Xamarin.Forms 中实现它以及这个关于 MonoTouch。有人可以帮助我如何在 Xamarin.iOS 上实现大文本可访问性。
问问题
875 次
2 回答
1
将UIFontTextStyle
s 之一分配给您的 UI 元素,当应用程序启动时,元素的文本大小将根据UIFontTextStyle
用户的当前Accessibility Larger Text
设置进行设置:
var uiLabel = new UILabel(new CGRect(40, 40, 200, 40));
uiLabel.Text = "StackOverflow";
uiLabel.Font = UIFont.GetPreferredFontForTextStyle(UIFontTextStyle.Body);
View.AddSubview(uiLabel);
如果您想动态响应Accessibility Larger Text
更改以便用户不必重新启动您的应用程序,请订阅UIContentSizeCategoryDidChangeNotification
并更新您的视图:
NSNotificationCenter.DefaultCenter.AddObserver(
new NSString("UIContentSizeCategoryDidChangeNotification"),
(NSNotification obj) =>
{
Console.WriteLine("Update layouts/subviews/layers/etc...");
View.SetNeedsLayout();
},
null
);
于 2017-02-08T16:01:25.627 回答
0
MonoTouch 和 Xamarin.iOS 是同一个东西,只是名称不同。
它以完全相同的方式实现,您可以将您的Font
属性设置为UILabel
或静态类UITextField
中的一种可用字体,如下所示:UIFont
var label = new UILabel
{
Font = UIFont.PreferredBody
};
这应该会根据您在 iOS 上的辅助功能设置自动缩放字体。
于 2017-02-08T15:58:53.137 回答