我注意到UIScrollView沒有提到的可訪問區域,我可以設置輔助功能標籤或輔助功能。這似乎也適用於活動指標。爲什麼UIScrollview在Interface Builder中沒有可訪問區域?
爲什麼UIVIews,UIButtons和更多有這個區域,而不是UIScrollView和UIActivityIndicatorView?
我注意到UIScrollView沒有提到的可訪問區域,我可以設置輔助功能標籤或輔助功能。這似乎也適用於活動指標。爲什麼UIScrollview在Interface Builder中沒有可訪問區域?
爲什麼UIVIews,UIButtons和更多有這個區域,而不是UIScrollView和UIActivityIndicatorView?
好問題 - 滾動視圖的原因是Apple不認爲它是一個可訪問的元素。
如果你看一下UIAccessibility
文檔,你會發現蘋果有以下對作爲「訪問元素」什麼算是說:
唯一的例外[視圖是訪問]是這種觀點僅僅作爲其他應該可以訪問的物品的容器。這樣的視圖應該實現UIAccessibilityContainer協議並將該屬性設置爲NO。
一個UIScrollView
簡直是子視圖的容器,所以它的isAccessibilityElement
屬性設置爲無(所以爲什麼你沒有看到在界面生成器的輔助功能選項)。
因此,基本上,當您使用滾動視圖時,中的項目應該可以訪問,但不能滾動視圖本身。
要在UIScrollView的UIAutomation輔助功能標籤上添加更多詳細信息,您必須使用ScrollView的索引訪問滾動視圖上的子視圖。例如:
target.frontMostApp().mainWindow().scrollViews()[0].buttons()["logoutButton"].tap();
注:假設是「logoutButton」是註銷按鈕可訪問標籤,它是在滾動視圖中的子視圖。
謝謝!這實際上解決了使用UIAutomation的另一個問題。 :-) – MdaG
這與iOS 9不再相關。您可以將AI添加到滾動視圖 – konradowy