9

Mam pasek wyszukiwania, który ogólnie działa. Problem pojawia się, gdy testuję na iPhonie, a autocorrect kopie w. Mam pasek wyszukiwania ustawić, że jeśli jest tekst na pasku zapytania> 4 długości, to zaczyna wprowadzanie rzeczy do tablicy searchResults. Jeśli istnieje sugestia z autokorekty, a ja ją ignoruję i wybieram coś z tablicy, aplikacja ulega awarii. Śledziłem błąd do faktu, że słowo autokorekta jest wybierane przed wyborem wiersza (ale oba są wykonywane), więc tablica searchResults, o której myślałem, że uzyskuję dostęp, nie jest już ważna.Autokorekta w UISearchBar zakłóca działanie, gdy uderzę w didSelectRowAtIndexPath

Na przykład wstawiam "demp" do paska wyszukiwania. Autokorekta sugeruje "demo". W międzyczasie wyszukiwanie zwraca pakiet wyników z "dempster" w nim. Wybieram pierwszy. Kiedy to robię, wyszukiwanie ponownie wyszukuje pod "demo" i czyści oryginalną tablicę (pamiętaj, że patrzę na serwer dla wyszukiwań, aby tablica nie została ponownie wypełniona). Następnie uruchamia się metoda didSelectRowAtIndexRow i nie ma w niej nic, co powoduje awarię.

Jakieś myśli? Z góry dziękuję.

+0

Miałem ten sam problem. Powiedziałbym, że to błąd w UISearchBar. – hpique

Odpowiedz

16

Ponieważ używasz paska wyszukiwania, nie powinno być autokorekcji, ludzie chcą znaleźć to, czego szukają, a nie to, co niektóre słowniki podpowiedzą im. Po prostu ustaw

a problem zostanie rozwiązany.

+0

To mi wystarczy! Dziękuję Ci! –

+0

Nie zgadzam się, że nie powinno być autokorekcji. Gdyby nie było tak inwazyjne, jak w iOS, byłoby to przydatne. – hpique

Powiązane problemy