0

Üst düzey kapsayıcı görünümü, özel bir UICollectionView'dir. En üstteki konuma iki özel kapsayıcı görünümü ekledim. => 8 DüğmelerÖzel alt kapsayıcı görünümleri UICollectionView'da görüntülenmiyor IOS UIAutomation logElementTree veya Xcode UI Sınama hata ayıklamaDescription

özel UIView konteyner | - - | özel UICollectionCells

özel UIView konteyner => 1 ımagebutton

- | hiyerarşi ağacı

özel UICollectionView

bilgileri aşağıdaki gibidir

Voice Over bu düğmelerle doğru bir şekilde yanıt verebilir. target.logElementTree() ile UIAutomation kullanmaya çalıştığımda, öğe ağacı yalnızca UICollectionView, UICollectionView altındaki UICollectioncell listesini bulur, Özel alt görüntüleme kapsayıcısını ve çocuklarını bulamaz. Daha sonra app.debugDescription kullanarak Xcode UI Testini denedim. Sonuç hala düğmeler olmadan, özel UICollectionView'da UICollectionCells içerir.

Bunları UIAutomation öğe ağacında nasıl gösterebilirim?

cevap

0

Son olarak özel toplama kategoriye Aspects kullanılarak: Özel toplama kategorisinde

, +(void)load geçersiz:

  • yürütme initWithFrame:collectionViewLayout: veya sonuçta accessibilityElements depolanması stong özelliği a, init boy bloğu ekleyin
  • Yürütme sonrası a alt görünümüne alt görünüm eklemek için görünüm bloğu ekleme addSubview:

nihayet a

Zor kısım özelliğini kullanarak UIAccessibilityContainer protokol yöntemlerini uygulamak: kullanım objc_setAssociatedObject ve objc_getAssociatedObject işlemek için a