Próbuję poprawić obsługę Voice Over w aplikacji. Mam UISearchBar
. Ustawiłem właściwość showBookMarks
na YES
. A ja ustawić niestandardowy obraz z:Jak udostępnić ikonę zakładki UISearchBar?
[searchbar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
Problem mam to, że z biegiem głosowe włączone, nie ma sposobu, aby aktywować ikonę zakładek. Jeśli wprowadzę tekst, pojawi się ikona "wyczyść", którą można wybrać i aktywować zgodnie z oczekiwaniami. Ale po usunięciu tekstu i wyświetleniu ikony zakładek nie można jej wybrać. Bez względu na to, gdzie dotknę, prostokąt Voice Over zawsze otacza cały pasek wyszukiwania, w tym ikony.
Próbowałem ustawić dla accessibilityLabel
i accessibilityTraits
właściwości na UIImage
dla ikony. Ustawiłem właściwość UIImage
dla na YES
. Nic nie działa.
Czy ktoś wie, jakie kroki są wymagane, aby ikona zakładek w UISearchBar
była dostępna?
Oto kompletny kod do paska wyszukiwania:
UISearchBar *bar = [[UISearchBar alloc] init];
[bar sizeToFit];
bar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
bar.placeholder = @"Search listed items";
bar.autocapitalizationType = UITextAutocapitalizationTypeNone;
bar.autocorrectionType = UITextAutocorrectionTypeNo;
bar.keyboardType = UIKeyboardTypeDefault;
bar.showsBookmarkButton = YES;
bar.text = @"";
UIImage *icon = [UIImage imageNamed:@"bookmarks.png"];
icon.accessibilityLabel = @"Bookmarks";
icon.accessibilityTraits = UIAccessibilityTraitButton;
icon.isAccessibilityElement = YES;
[bar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
[bar setPositionAdjustment:UIOffsetMake(-1, -1) forSearchBarIcon:UISearchBarIconBookmark];
Informacje dodatkowe:
należy wspomnieć, że pasek wyszukiwania jest używany z UITableViewController
, która jest połączona z UISearchDisplayController
. Pasek wyszukiwania jest ustawiany jako widok tabeli headerView
.
Wszystko to odbywa się w kodzie. Żadne storyboardy ani Xibs nie są zaangażowane.
@downvoter proszę wyjaśnić. Wysłałem dokładną odpowiedź na problem, który miałem. Jest to nieudokumentowany wymóg, aby Voice Ovet działał prawidłowo w tym przypadku. – rmaddy
Proszę wyjaśnić, gdzie stwierdzono, że rozmiar UISearchBarIconBookmark powinien wynosić 40x29px? Czy jest to minimalny rozmiar, maksymalny rozmiar, dokładny rozmiar lub dokładny stosunek? Udało mi się sprawić, by działał z innymi rozmiarami, ale nie wiem, który z nich jest zalecany. –
Znalazłem go metodą prób i błędów. Mój oryginalny rozmiar nie działał. Kiedy próbowałem określonego rozmiaru, zaczęło działać. Nie testowałem innych kombinacji, więc z pewnością możliwe będą inne rozmiary. Jeśli znasz inne rozmiary, które działają, opublikuj je, aby inni mogli skorzystać. – rmaddy