我在UITableView中有一个按钮。 UITableView是在storyboard中创建的,但按钮是实用创建的。我明白了:
出现意外异常 SLUIAElementInvalidException ,原因是:元素'< SLButton说明:"添加成员">'不存在。
当我尝试"点击"按钮元素:
SLButton *addMemberButton = [SLButton elementWithAccessibilityLabel:@"Add Member"];
SLLog(@"%@", addMemberButton); // prints <SLButton description:"Add Member">
[addMemberButton tap];
我在viewController中的viewDidLoad中有以下代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.addMemberButton.isAccessibilityElement = YES;
self.addMemberButton.accessibilityValue = @"Add Member";
self.addMemberButton.accessibilityTraits = UIAccessibilityTraitButton;
}
当我使用辅助功能检查器时,该按钮可以访问并具有我创建的标签。 我甚至尝试使用以下方法关闭UITableView中的辅助功能:
self.tableView.isAccessibilityElement = NO;
self.tableView.accessibilityLabel = nil;
这没有任何区别。如何解决这个问题的任何见解将不胜感激。
答案 0 :(得分:0)
看起来您正在尝试按标签匹配按钮,但“添加成员”实际上是按钮的值。
SLButton *addMemberButton = [SLButton elementWithAccessibilityLabel:nil value:@"Add Member" traits:UIAccessibilityTraitButton];
应该有效,但我认为将“添加成员”设置为标签会更合适(请参阅accessibilityLabel
与accessibilityValue
here的说明,以及准则here)。
如果“添加会员”是按钮的标题,您实际上不需要手动设置任何属性 - 按钮会自动从其标题中获取其可访问性标签。