2012-05-17 24 views
8

loadView içinde oluşturduğum bir UITableView var. loadView'da yaptığım şeylerden biri, tablo üstbilgisi olarak hareket etmek ve ona bir UIImageView eklemek için UIView oluşturmaktır. Resim görünümü, stilize bir başlık olan bir resim içeriyor. Bu yüzden, VoiceOver kullanıcıları için bir erişilebilirlik etiketi eklemek istiyorum. Ancak, etiketi okumak için VoiceOver'ı görüntü üzerine "odaklama" özelliğini alamıyorum ve Erişilebilirlik Denetçisi, simülatördeki görüntüyü tıklatmaya tepki vermiyor. Benim (kısaltılmış) kodu aşağıdaki gibidir:UITableView üstbilgisinde bulunan bir UIImageView üzerinde bir accessibilityLabel ayarı

... in -loadView ... 
// Make header view 
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(...)]; 
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:[self titleImage]]; 
titleImageView.accessibilityLabel = [self accessibilityLabelForTitleImage]; 
[headerView addSubview:titleImageView]; 

// Make table view 
self.tableView = [[UITableView alloc] initWithFrame:CGRect(...) style:UITableViewStylePlain]; 
self.tableView.tableHeaderView = headerView; 
... code continues ... 

Ben gdb adım attı ettik ve accessibilityLabelForTitleImage bir dize döndürür. po [titleImageView accessibilityLabel], doğru dizeyi basar ancak yine de görüntü görüntüsüne odaklanamıyorum. Görünümlerin kendileri uygun göründüğünü ve yanıt verdiğini unutmayın.

Bir şey mi eksik? VoiceOver'ı bir görüntü görünümünü kabul etmeye zorlamanın bir yolu var mı?

Ses-Over yılında
+0

bunu yaptınız mı? imageView.userInteractionEnabled = YES; –

+0

Hayır - VoiceOver sayılarını bu şekilde etkileşim olarak görmedim. Denememe izin ver ... – kevboh

+0

Hayır, 'userInteractionEnabled' ayarını YES (hem resim hem de ebeveyn için) ayarlamama izin vermiyor. – kevboh

cevap

13

, bir eleman erişilebilir kılmak için: - i kodunuzu bulmuyorum hangi gerçek setIsAccessibilityElement özelliğini ayarlamak zorunda

  1. . Diğer önemli nokta, alt öğelerin erişilebilir olması için alt öğelerin (alt gösterimler) erişilebilir hale getirilmesi, ebeveynlerin erişilebilir olmamasına rağmen bunları ayrı ayrı yapmanız gerektiğidir (bunu da belirtmeniz gerekir). Page 183 Diğerleri; Özel hücrenizdeki UIAccessibilityContainer Protokolünü uygulayın. ben bu Accessibility voice over by apple bakın hatırlatırız üzerinde giderseniz

Büyük bir hikaye olacak.

Bu yardımcı olur umarım.

+2

erişilebilsin. 'isAccessibilityElement' öğesi true değerine ayarlandı. Dokümanları okudum - onu özlediğime inanamıyorum. Teşekkürler! – kevboh

+0

Bazen olur ... iyi şanslar btw –

3

IOS uygulamamı test etmek için KIF kullanıyorum. Benim tablo görünümünde, tableview.accessibilityLabel yerine tableview.accesssibilityIdentifier değerini atandım. Benim için çalıştı. Denemek ister misin?