Dziwne zachowanie przesunięcia widoku UISearchDisplayController w systemie iOS 7 po osadzeniu w pasku nawigacyjnym

Buduję aplikację dla systemu iOS 7. Próbuję ustawić UISearchDisplayController na pasku nawigacyjnym.

Mam to skonfigurowane w następujący sposób: W serii ujęć dodałem „pasek wyszukiwania i kontroler wyszukiwania” do widoku kontrolera widoku i ustawiłem go na (0,0) względem górnego przewodnika układu. Ustawiłem ograniczenia, aby przypiąć do lewej, góry i prawej. (Grałem z ograniczeniami, całkowicie je usunąłem, to nie ma znaczenia). Poza tym mam widok tabeli. Kiedy dodałem pasek wyszukiwania do widoku w serii ujęć, automatycznie skonfiguruje ono punkty sprzedaży dla delegata searchDisplayController i searchBar. W kodzie mamself.searchDisplayController.displaysSearchBarInNavigationBar = YES; Mam dwa problemy:

1) Bez przycisków pokazujących pasek wyszukiwania (Kreator interfejsu -> wybierz pasek wyszukiwania -> Opcje: brak zaznaczenia) pasek wyszukiwania znajduje się na środku ekranu:

Jeśli kliknę pasek nawigacyjny, rozpocznie się edycja paska wyszukiwania:

Zauważ również, że ciemna nakładka wydaje się być odsunięta od paska nawigacji. Wydaje mi się, że przestrzeń ma taką samą wysokość jak pasek nawigacyjny. Jakby zostało tak bardzo przesunięte w dół. Ponadto, gdy wyświetla wyniki wyszukiwania, górna część widoku zawartości jest przesuwana w dół o tę samą wartość (więcej zdjęć jest następnych), co prowadzi do drugiego problemu.

2) Przez chwilę się z tym pogrzebałem i postanowiłem sprawdzić opcję pokazania przycisku anulowania. Teraz pasek wyszukiwania jest prawidłowo osadzony w pasku nawigacyjnym, ale nakładka jest nadal przesuwana w dół:

Ponownie, gdy pojawi się widok tabeli wyników wyszukiwania, zostanie on przesunięty w dół o tę samą wartość (zwróć uwagę na pasek przewijania po prawej stronie):

Co jeszcze bardziej dziwne, ustawiam obramowanie w warstwie widoku tabeli kontrolera wyświetlania wyszukiwania i wydaje się ona prawidłowa:

Nigdy wcześniej nie korzystałem z UISearchDisplayController i nie wiedziałem, jak go skonfigurować, ale funkcjonalnie działa dobrze. Przeczytałem kilka innych podobnych postów, ale jedyną radą jest włamanie się przez dostosowanie ramek i ustawienie ręcznych odsunięć. Wolałbym wiedzieć, co to powoduje, czy to błąd? Coś, co robię źle? Jeśli to błąd, mogę poczekać na poprawkę. Wydaje się, że taka podstawowa rzecz, którą musiał wykonać tysiąc osób bez żadnego problemu, więc czuję, że jakoś nie ustawiam go poprawnie. Dzięki za wejście.

questionAnswers(9)

yourAnswerToTheQuestion