我有一个 UIImageView 作为视图的背景。用户交互被禁用。isAccessibilityElement 设置为 NO。当应用程序在设备上运行时,可以使用调试视图层次结构来验证这一点。
然而,当我点击以该背景为背景的视图时,会描述其上的所有控件,然后使用自动图像识别来描述图像。我在网上找到的所有内容都说这是 iOS 14 的一项新功能,而且非常棒,但没有提到如何关闭它。
我什至尝试设置自己的描述字符串,至少尝试覆盖图像识别,但无济于事。那么 - 有没有办法为特定的 UIImageView(甚至整个应用程序)关闭它,如果可以,如何关闭?
*** 更新 ****
所以我已经确认这是特定于 iOS 14 的。我有以下代码viewDidLoad:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"blueSky.jpg"]];
imageView.isAccessibilityElement = YES;
imageView.accessibilityLabel = @"I am not a description";
CGPoint origin = imageView.frame.origin;
origin.y = 50;
origin.x = 50;
CGRect imageFrame = imageView.frame;
imageFrame.origin = origin;
imageView.frame = imageFrame;
self.view.isAccessibilityElement = NO;
[self.view addSubview:imageView];
Run Code Online (Sandbox Code Playgroud)
blueSky 是蓝天的图像。它不使用资产目录。当我在 iOS 13 中启用 VoiceOver 的情况下点击图像时,它会显示“我不是描述”。当我在 iOS 14.1 设备上点击它时,它会显示“我不是描述”,然后停顿半秒,说“图像”,然后继续描述它“蓝天,多云”。这是我一生都无法弄清楚如何消除的最后一部分!
我有一个值为Jose的NSString(e上的重音).我尝试将其转换为C字符串,如下所示:
char str [[myAccentStr length] + 1];
[myAccentStr getCString:str maxLength:[myAccentStr length] + 1 encoding:NSUTF32StringEncoding];
Run Code Online (Sandbox Code Playgroud)
但str最终成为一个空字符串.是什么赋予了?我也尝试过UTF8和UTF16.它稍后会被传递给另一个函数,当该函数调用lstrlen时,它的大小为零.
有谁知道我可以在哪里下载这个配置文件,以便我可以把它放在我的设备上进行推送调试?所有互联网和stackoverflow链接指向此处:
但是在那里下载它的链接没有活动,并且在该页面上的任何地方都没有任何注释表示"替换为......"或"执行此操作......"或其他任何内容.是什么赋予了?