2012-01-30 2 views
6

저는 UITableViewController가 있으며 일반 텍스트처럼 보이도록 섹션 헤더를 사용자 정의하려고합니다. 나는 사용자 정의 headerView (아래에 설명 됨)에 하위 뷰를 추가하면 VoiceOver 헤더 탐색을 중단한다는 것을 알게되었습니다.사용자 정의 viewForHeaderInSection에 하위 뷰를 추가하면 VoiceOver 탐색이 중단됩니다.

예를 들어

는 : HEADER1, HEADER2, Header3 : 나는 세 가지 헤더 테이블을 말해봐. 의도 한대로 나는 해설 로터가 머리글로 이동 전환 할 수 viewForHeaderInSection 방법의 사용자 정의 구현하지 않고

모든 것이 작동합니다.

다음과 같은 방법으로 viewForHeaderInSection 메서드를 구현할 때 Header1에서 Header2로 이동하여 Header2로 백업 할 수 있지만 voiceover는 모든 헤더를 잃습니다 ("헤더 없음").

headerView에 headerView를 추가 할 때 문제가 있음을 발견했습니다. voiceLover가 선택하지 않도록 숨겨진 접근성 요소에 headerLabel을 설정하려고했지만 문제가 지속됩니다.

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)]; 

UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 0, headerView.frame.size.width-120.0, headerView.frame.size.height)]; 

headerLabel.textAlignment = UITextAlignmentLeft; 
headerLabel.font = [UIFont boldSystemFontOfSize:22]; 
headerLabel.text = [headersArray objectAtIndex:section]; 
headerLabel.backgroundColor = [UIColor clearColor]; 

[headerView addSubview:headerLabel]; 

return headerView; 

} 

VoiceOver가 이와 같이 반응하는 이유에 대해 알려주세요.

감사합니다.

+0

, 그것은 좋은 것 – romrom

+0

사용자 정의 섹션 헤더를 사용하는 동안 접근성을 개선하고자하는 DEVS 목록에 나를 추가합니다. –

답변

0

원래의 문제에 대한 대답은 아닌 것 같지만 비슷한 문제를 해결했습니다.

나는 섹션 헤더에 대한 사용자 정의 UIView의가 있고, 배열에 이들의 풀을 유지하고 occationally을 재사용. 이렇게 VoiceOvery가 완전히 혼란 스럽거나 앞뒤로 진행되는 것이 항상 이전 또는 다음 셀을 예상대로 선택하지는 못했습니다. viewForHeaderInSection : 나는 새로운 UIView의에게있는 tableView이 때마다 생성으로 변경하는 경우

그러나 불렸다을, VoiceOver를이 탐색 혼란을 중지하고 모든 잘 작동했다. 내 머리글보기에 액세스 할 수 있으며 (isAccessibleElement) 레이블이 설정되어 있습니다. 누군가가 그 주제에 대한 업데이트가 있다면

나는 꽤 같은 문제에 직면하고있어
관련 문제