无法在 -pickerView:accessibilityLabelForComponent: 方法中获取 pickerView.tag

Posted

技术标签:

【中文标题】无法在 -pickerView:accessibilityLabelForComponent: 方法中获取 pickerView.tag【英文标题】:Unable to get pickerView.tag in -pickerView:accessibilityLabelForComponent: method 【发布时间】:2015-02-11 02:29:48 【问题描述】:

协议:

UIPickerViewAccessibilityDelegate

方法:

-pickerView:accessibilityLabelForComponent:

问题:

Apple 文档说

- (NSString *)pickerView:(UIPickerView *)pickerView
accessibilityLabelForComponent:(NSInteger)component

但是我在这个方法中得到的pickerView 不是 UIPickerView*, 但它是一个 UIAccessibilityPickerElement, 因此在此方法中使用 pickerView.tag 会崩溃。

我的视图控制器中有 2 个选择器视图,我需要访问标签来识别它们。

问题:

如何在这个方法中为两个pickerView的组件提供accessibilityLabel?

【问题讨论】:

我正要发布我自己关于这类事情的问题。我通常针对我的 ViewController 的出口属性测试方法 pickerViews,这些属性已与我的故事板中的特定 pickerViews 链接。我猜与测试标签相同,但正如您所说,您通过的 pickerView 是 UIAccessibilityPickerElement。在调试器中,您可以看到它有一个符合我期望的 pickerView 属性。虽然这是私有 API,所以我们甚至不能将 pickerView 转换为这种类型。我要记录一个关于它的错误 发布了关于此问题的雷达错误 21345299 【参考方案1】:

也许这有帮助。

自定义组件有一个非常相似的问题。我在这个组件中有一个pickerView。我的“弱”,这就是为什么我无法访问标签属性。

我必须定义一个新属性来识别每个选择器。

【讨论】:

以上是关于无法在 -pickerView:accessibilityLabelForComponent: 方法中获取 pickerView.tag的主要内容,如果未能解决你的问题,请参考以下文章

无法在 SQL Server 视图中使用工作查询:“IS”无法识别“>”无法识别

无法在春季导入 org.apache.poi,因此无法编译

无法理解为啥计算在没有手表的情况下无法工作

React 无法编译模块未找到:无法在listingDetail 上解析

为啥 Today Widget 在 iOS 14 上显示“无法加载”且无法调试?

“无法在此文件中预览 - 无法启动 [应用程序名称]”