我有一个工具栏,我想跳过标题按钮时,辅助功能打开。
我可以使用accessibilityElementsHidden跳过整个工具栏的辅助功能。
但我只是想跳过标题栏按钮的辅助功能焦点。
我试着单独禁用标题按钮的可访问性。
但没用。
所以我设置了ObsibilityElements属性,它跳过了标题栏,阅读了右侧的DONE按钮。但是在那个DONE按钮上根本没有单独的焦点。当我使用ObsibilityElements时,单个栏按钮项的焦点丢失了。
更新:
我在这里添加了一个观察者
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
字符串
这里是观察者
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(beginEditingHandler:) name:UITextFieldTextDidBeginEditingNotification object:nil];
型
下面是我管理辅助功能项的方法
- (void)beginEditingHandler:(NSNotification *)notification {
UIResponder *responder = notification.object;
IQToolbar *inputAccessoryView = responder.inputAccessoryView;
if (inputAccessoryView) {
if ([inputAccessoryView isKindOfClass:[IQToolbar class]]){
NSMutableArray *arrAccessibilityItems = [[NSMutableArray alloc]init];
if(inputAccessoryView.previousBarButton){
if(!inputAccessoryView.previousBarButton)
[arrAccessibilityItems addObject:inputAccessoryView.previousBarButton];
}
if(inputAccessoryView.nextBarButton){
if(!inputAccessoryView.nextBarButton.isHidden)
[arrAccessibilityItems addObject:inputAccessoryView.nextBarButton];
}
if(inputAccessoryView.titleBarButton){
IQTitleBarButtonItem *titleBtn= inputAccessoryView.titleBarButton;
if(titleBtn.title.length>0){
[arrAccessibilityItems addObject:inputAccessoryView.titleBarButton];
}
}
if(inputAccessoryView.doneBarButton){
[arrAccessibilityItems addObject:inputAccessoryView.nextBarButton];
}
[inputAccessoryView setAccessibilityElements:arrAccessibilityItems];
}
}
}
型
问题是这个读出作为整个工具栏,而不是一个酒吧项目的酒吧项目。
1条答案
按热度按时间pn9klfpd1#
iQcss设置标题按钮如下:
字符串
你必须子类化
IQToolbar
并覆盖titleBarButton
,如下所示:型