Tôi đã thiết lập một UIRefreshControl trong UITableViewController của mình (nằm trong UINavigationController) và nó hoạt động như mong đợi (tức là kéo xuống kích hoạt sự kiện chính xác). Tuy nhiên, nếu tôi lập trình gọi beginRefreshing
phương thức phiên bản trên điều khiển làm mới như:
[self.refreshControl beginRefreshing];
Chẳng có gì xảy ra. Nó sẽ hoạt hình xuống và hiển thị con quay. Các endRefreshing
phương pháp làm việc đúng khi tôi gọi đó là sau khi làm mới.
Tôi đã hoàn thành một dự án nguyên mẫu cơ bản với hành vi này và nó hoạt động bình thường khi UITableViewController của tôi được thêm trực tiếp vào bộ điều khiển chế độ xem gốc của đại biểu ứng dụng, ví dụ:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Nhưng nếu tôi thêm tableViewController
vào một UINavigationController đầu tiên, sau đó thêm các điều khiển chuyển hướng như rootViewController
, các beginRefreshing
phương pháp công trình không còn. Ví dụ
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Cảm giác của tôi là điều này có liên quan đến cấu trúc phân cấp chế độ xem lồng nhau trong bộ điều khiển điều hướng không hoạt động tốt với điều khiển làm mới - bất kỳ đề xuất nào?
Cảm ơn