我的应用程序是使用Xamarin.iOS开发的,我需要让它可以访问。我们无法找到任何帮助来实现xamarin.iOS中的大文本可访问性。我找到了this链接,解释了如何在Xamarin.Forms和this中实现MonoTouch。有人可以帮助我如何在Xamarin.iOS上实现大文本可访问性。
答案 0 :(得分:0)
MonoTouch和Xamarin.iOS是一回事,只是一个不同的名字。
以完全相同的方式实现,您可以将UILabel
或UITextField
的{{1}}属性设置为UIFont
静态类中的一种可用字体像这样:
var label = new UILabel
{
Font = UIFont.PreferredBody
};
这应该根据iOS上的辅助功能设置自动缩放字体。
答案 1 :(得分:0)
将其中一个UIFontTextStyle
分配给您的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
);