나는 접근성 수수께끼에 몸을 던지고 있습니다.UITableView 하위 뷰에서 액세스 가능성이 손실되었습니다.
그룹화 된 스타일의 tableView와 (UIBarButtonItem을 누를 때) 일반 tableView를 모두 필요로하는 뷰가 있습니다. 그룹화 된 tableView가 기본값입니다. 나는 (그룹화 된) tableView의 서브 뷰로 일반 뷰 컨트롤러를 추가 한 다음 그룹화 된 tableView로 뒤집을 때이를 제거하여이 문제를 해결했습니다. 그것은 아주 잘 작동합니다.
지금 음성 해설을 구현 중이며 문제가 있습니다. 일반 tableView가 표시되면 (이름의 간단한 목록) 전체보기의 음성 텍스트는 "빈 목록"입니다. 무슨 일이 일어나고있는가 그룹화 된 테이블보기가 여전히 거기에 있고 빈 테이블 (0 행), 그냥 평범한 tableView 뒤에 숨어있다. (기술적으로 평범한 tableView는 그룹화 된 tableView와 동일한 CGRect를 사용하여 그룹화 된 tableView의 서브 뷰이므로 배경이 보이지 않습니다.)
내가 원하는 것은 비어있는 그룹화 된 tableView를 voiceover에서 숨기고 싶습니다. (즉, 셀 내용을 말하십시오). isAccessiblityItem
부울 값은 아무 효과가 없습니다.
그룹화 된 뷰와 일반 뷰 모두에서 단일보기가 비표준이지만 여기에서 사용하는 것이 합리적이므로 레이아웃을 변경하는 것은 옵션이 아닙니다.
다음은 테이블 반전 코드의 간단한 버전입니다. 일반있는 tableView를 제거
UITableView *plainTableView = plainViewController.tableView;
plainTableView.frame=groupedTableViewFrame;
plainTableView.delegate=self;
plainTableView.dataSource=self;
plainTableView.tag=1;
self.tableView.backgroundColor=[UIColor whiteColor];
[self.view addSubview:plainTableView];
[plainViewController release];
:
for (UIView *subview in [self.view subviews]) {
if (subview.tag == 1) {
[subview removeFromSuperview]; //kills the plain view
self.tableView.backgroundColor=[UIColor groupTableViewBackgroundColor];
}
}
내가 같은 일반있는 tableView를 추가 할 때 다양한 isAccessibilityItem
설정을 추가하는 시도했습니다
plainTableView.isAccessibilityElement=YES;
self.tableView.isAccessibilityElement=NO;
일반있는 tableView 추가
에는 아무런 영향이 없습니다.
도움을 주시면 대단히 감사하겠습니다. 감사!
당신은 내가 SDK의 @property의 새로운 방법을 참조 잊고 것을 이해하는 것이 저를 만든 (세분화) BOOL accessibilityElementsHidden NS_AVAILABLE_IOS (5_0); – thndrkiss