Ich habe eine UISearchDisplayController und Ergebnisse in einer Tabellenansicht angezeigt. Wenn ich versuche, die Tabellenansicht zu scrollen, ist die Inhaltsgröße genau _keyboardHeight höher als es sein sollte. Dies führt zu einem falschen Bodenversatz. Es gibt> 50 Artikel in der Tableview, so sollte es kein Leerzeichen wie untenUISearchDisplayController tableview Inhalt Offset ist falsch nach Tastatur ausblenden
8
A
Antwort
12
ich dies durch Hinzufügen eines NSNotificationCenter
Zuhörer gelöst sein
- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView {
//this is to handle strange tableview scroll offsets when scrolling the search results
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidHide:)
name:UIKeyboardDidHideNotification
object:nil];
}
Vergessen Sie nicht, den Hörer zu entfernen
- (void)searchDisplayController:(UISearchDisplayController *)controller willHideSearchResultsTableView:(UITableView *)tableView {
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardDidHideNotification
object:nil];
}
einstellen tableview content in der Benachrichtigungsmethode
0 Hier- (void)keyboardDidHide:(NSNotification *)notification {
if (!self.searchDisplayController.active) {
return;
}
NSDictionary *info = [notification userInfo];
NSValue *avalue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
CGSize KeyboardSize = [avalue CGRectValue].size;
CGFloat _keyboardHeight;
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
if (UIDeviceOrientationIsLandscape(orientation)) {
_keyboardHeight = KeyboardSize.width;
}
else {
_keyboardHeight = KeyboardSize.height;
}
UITableView *tv = self.searchDisplayController.searchResultsTableView;
CGSize s = tv.contentSize;
s.height -= _keyboardHeight;
tv.contentSize = s;
}
12
ist ein einfacher und bequemer Weg, es zu tun, basierend auf hlung der geposteten Link:
- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView {
[tableView setContentInset:UIEdgeInsetsZero];
[tableView setScrollIndicatorInsets:UIEdgeInsetsZero];
}
Hinweis: Die ursprüngliche Antwort verwendet NSNotificationCenter die gleichen Ergebnisse zu erzielen.
Verwandte Themen
- 1. prepareForSegue nach UISearchDisplayController
- 2. UISearchDisplayController in den aktiven Zustand ohne die abgeblendete TableView
- 3. UISearchBar zu UISearchDisplayController Übergang ist um 20px
- 4. TableView konstruierbarer Inhalt | Swift
- 5. AppBar Inhalt ist falsch nach dem Aktualisieren oder Zurückschlagen Taste
- 6. UISearchDisplayController und benutzerdefinierte Zelle
- 7. UISearchDisplayController Zeilenhöhe ändern
- 8. ActionMode mit Toolbar Offset Inhalt
- 9. Tastatur ausblenden, wenn Pfeil nach unten gedrückt wird
- 10. Set Inhalt Offset von ScrollView
- 11. ändern UI Steuerhöhe nach Tastatur
- 12. programmgesteuert verwenden UISearchDisplayController
- 13. jQuery Offset beim Aktualisieren der Seite falsch
- 14. UIScrollview Animation abhängig vom Inhalt Offset
- 15. jquery Offset falsch auf schwimmende Elementen
- 16. UISearchDisplayController Verwendung mit Netzwerk-abgerufenen Daten
- 17. Inhalt ausblenden, wenn im Feld
- 18. Tastatur im Scrollview ausblenden Scrollen der Seite
- 19. Android Tastatur schiebt Inhalt weg
- 20. Scroll-Dialog nach der Tastatur ist auf
- 21. Android Tastatur beim Ändern von Fragmenten ausblenden
- 22. Cocoa Touch - UISearchBar Tastatur - Schaltfläche "Suchen" ausblenden
- 23. Tastatur für Textfeld in schneller Programmiersprache ausblenden
- 24. Tastatur ausblenden, wenn AutoComplateTextView Element geklickt
- 25. UISearchDisplayController zeigt weiße statt graue Tabellenzellenrahmen
- 26. Ausblenden UITableView, wenn searchResultsTableView angezeigt
- 27. Zelle in TableView mit ihrem Inhalt ändern
- 28. Programmgesteuertes Ein-/Ausblenden der virtuellen Tastatur
- 29. Höhe anpassen an Inhalt in TableView Zelle?
- 30. ändern css style nach modal ist ausblenden
Diese [Antwort] (http://stackoverflow.com/a/19162257/467588) ist ähnlich, aber ein bisschen kürzer;) – Hlung