我已經在UITableView
中實現了內嵌的UIDatePicker
,就像它們在其他iOS應用中顯示的一樣,例如在Calendar中創建新事件時。如何防止VoiceOver與隱藏的UIDatePicker進行交互
在VoiceOver中使用該應用程序時,在用戶選擇日期後仍然可以訪問日期選擇器,然後在表格視圖單元格上雙擊時關閉日期選擇器。當日期選擇器隱藏時,VoiceOver將突出顯示相應的單元格,但如果用戶向右滑動,則會選擇現在隱藏的UIDatePicker
並允許它們與其交互。我期望它能像在日曆中一樣選擇下一個表格視圖單元格。
我看了其他做題中隱藏的觀點仍然可以訪問,並且爲了防止這種情況發生,你可以在酒店accessibilityElementsHidden
在容器視圖中,隱藏元素,讓VoiceOver會後設置爲YES
知道這是沒有在屏幕上更長。但這不適合我。我也讀過你應該發佈佈局更改通知,以便VoiceOver知道要更新到當前的用戶界面,但這也不起作用,隱藏的視圖仍然可以訪問。
如何防止我的隱藏UIDatePicker
無法訪問?請注意,當表格加載時,隱藏日期選取器無法訪問。所以只有在它出現後,隱藏它仍然可以訪問。
這是我的代碼隱藏日期選擇器當用戶點擊單元格:
self.datePicker.hidden = YES;
self.datePicker.alpha = 0.0f;
self.datePickerCell.accessibilityElementsHidden = YES;
self.datePickerCell.contentView.accessibilityElementsHidden = YES;
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil);
而且在heightForRowAtIndexPath
的datePickerCell
高度時隱藏變爲0。請注意,datePicker
是datePickerCell
的subview
。
你是什麼意思的「**,但如果用戶然後滑向右邊**」?此操作是否打開另一個窗口(如在導航控制器中 - 彈出當前窗口)? –
@AleksandrMedvedev不,使用VoiceOver激活滑動將突出顯示切換到下一個元素。 – Joey
你使用靜態或動態tableview嗎? –