我正在尝试改进应用程序中的旁白支持。我有一个UISearchBar
. 我已将showBookMarks
属性设置为YES
. 我已经设置了一个自定义图像:
[searchbar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
我遇到的问题是,打开 Voice Over 后,无法激活书签图标。如果我输入文本,则会出现“清除”图标,并且可以按预期选择和激活它。但是一旦文本被清除并且我的书签图标出现,它就不能被选中。无论我在哪里点击,画外音矩形总是围绕整个搜索栏,包括图标。
我尝试在图标上设置accessibilityLabel
和accessibilityTraits
属性。UIImage
我已将UIImage
'isAccessibilityElement
属性设置为YES
. 似乎没有任何效果。
有谁知道使书签图标UISearchBar
可访问需要哪些步骤?
这是搜索栏的完整代码:
UISearchBar *bar = [[UISearchBar alloc] init];
[bar sizeToFit];
bar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
bar.placeholder = @"Search listed items";
bar.autocapitalizationType = UITextAutocapitalizationTypeNone;
bar.autocorrectionType = UITextAutocorrectionTypeNo;
bar.keyboardType = UIKeyboardTypeDefault;
bar.showsBookmarkButton = YES;
bar.text = @"";
UIImage *icon = [UIImage imageNamed:@"bookmarks.png"];
icon.accessibilityLabel = @"Bookmarks";
icon.accessibilityTraits = UIAccessibilityTraitButton;
icon.isAccessibilityElement = YES;
[bar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
[bar setPositionAdjustment:UIOffsetMake(-1, -1) forSearchBarIcon:UISearchBarIconBookmark];
附加信息:
我应该提到,搜索栏与 a 一起使用,UITableViewController
它与 a 相连UISearchDisplayController
。搜索栏被设置为表格视图的headerView
.
所有这些都是在代码中完成的。不涉及故事板或 xib。