1

Ich habe eine UISearchController, die ihren eigenen benutzerdefinierten Ergebniscontroller hat, anstatt den Inhalt in der sofortigen Ansicht zu filtern. Die wird in der Navigationsleiste korrekt angezeigt, aber wenn ich mit der Eingabe von Zeichen in das Suchfeld beginne, erscheint mein benutzerdefinierter Controller und füllt den gesamten Bildschirm aus. Er bedeckt die Navigationsleiste und das Fenster, in das ich meine Suchanfrage eintippe .UISearchController ResultsController erscheint über der Navigationsleiste

Dies war früher zu arbeiten, aber ich vor kurzem änderte mein Drehbuch die UINavigationController als Einstiegspunkt zu haben, in eine UITabBarController führt, die dann Controller Tabbed gehabt hat.

Die UITabBarController verfügt jetzt über die gesamte Logik für die Suchvorgänge, sodass sie die über die Suchergebnisse ausgeführten Aktionen über ein von mir implementiertes Protokoll an die entsprechende Registerkarte weiterleiten kann.

Unten ist mein Storyboard, beachten, dass der benutzerdefinierte Suchergebnis-Controller ist das Element unter den UITabBarController und das nicht befestigte Element auf der rechte oberen Ecke sitzt, über eine Bibliothek verwendet wird und intern an die oberen Registerkarte Controller angeschlossen ist.

Ich beginne mich zu fragen, ob diese spezifische Konfiguration funktioniert? Kann ich die UINavigationController vor der UITabBarController haben?

Ich wollte eine persistente Suchleiste oben mit dem gesamten Code für die gemeinsame Suche an einer Stelle (UITabBarController), anstatt einen UINavigationController vor jeder Registerkarte setzen?

Wenn dies funktionieren sollte, gibt es irgendwelche Ideen, warum der benutzerdefinierte Suchergebnis-Controller jetzt den gesamten Bildschirm abdeckt, anstatt unter die Navigationsleiste zu gehen?

enter image description here

Antwort

0

stellte sich heraus, das Problem war ich

definesPresentationContext = true 

Im View-Controller, die bereits angezeigt wurde (Tab 1)

nennen benötigt Wenn ich den Suchcode über verschoben die UITabBarController, habe ich das damit bewegt.

Verwandte Themen