W iOS 10, użyłem, aby rozpocząć odświeżenie UIRefreshControl
(pokazać kontrolę odświeżania programowo) programowo jak ten:iOS 11 beginRefreshing programowo z dużym tytuł na pasku nawigacyjnym
self.tableView.setContentOffset(CGPoint(x: 0, y: - self.refreshControl.bounds.height), animated: false)
self.refreshControl.beginRefreshing()
Ale teraz z iOS 11, że kod nie robi Działa, robi tylko bałagan o rozmiarze UINavigationController
, a UIRefreshControl
nie pojawia się.
Jak mogę programowo odświeżyć program UIRefreshControl
(programowo wyświetlić program odświeżający), używając prefersLargeTitles
z iOS 11?
Jako, że [doc] (https://developer.apple.com/documentation/uikit/uirefreshcontrol) powiedział: 'Ponieważ kontrolka odświeżania jest specjalnie zaprojektowana do użycia w widoku tabeli, który jest zarządzany przez kontroler widoku tabeli, używając w innym kontekście może powodować niezdefiniowane zachowanie. ", spróbuj użyć' UITableViewController' zamiast tego. – liushuaikobe
jak dotąd szczęście w rozwiązaniu tego problemu? Napotkałem ten sam problem i od czasu do czasu działa zgodnie z oczekiwaniami, gdy uruchamiam moją aplikację w symulatorze, ale kiedy następnym razem uruchomię aplikację, ponownie przesunie się pasek nawigacji ... – xxtesaxx
@xxtesaxx Nie mogłem tego rozwiązać . Postanowiłem przenieść wszystkie moje kontrolery UIViewController do kontrolera UITableViewController i zaczęło się lepiej zachowywać. – pableiros