вытащить, чтобы обновить в табличном представлении от представления модального в iOS 13 не работает - PullRequest
2 голосов
/ 29 сентября 2019

Я использовал UIRefreshControl в табличном представлении, и он представил контроллер представления автоматически в ios 13. Представление таблицы в том же контроллере представления используется.

vc.modalPresentationStyle = .automatic

Проблема заключается в том, что, как только проведите пальцемобновить верхний вид контроллера, который он отклонил. я запретил следующий код для отклонения, но контроллер представления по-прежнему не обновляется сверху.

vc.isModalInPresentation = true

Как обновить представление таблицы без отклонения контроллера представления?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Если версия iOS 10 и более поздних версий, используйте функцию RefreshControl tableView, не используйте addSubview.

let refreshControl:UIRefreshControl = UIRefreshControl.init()

if #available(iOS 10.0, *) {
   tableView.refreshControl = refreshControl
} else {
   tableView.addSubview(refreshControl)
}

Независимо от того, isModalInPresentation имеет значение true или false.

0 голосов
/ 03 октября 2019

Решение этой проблемы состоит в том, чтобы представить свой контроллер представления, который содержит ваш UITableView или UICollectionView, с использованием доступной опции modalPresentationStyle в полноэкранном режиме, прежде чем представлять контроллер представления:

yourViewController.modalPresentationStyle = UIModalPresentationFullScreen;
yourViewController.modalPresentationStyle = .fullScreen

Полный пример в Objective-C:

NSString *storyboardName = @"Main";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
// YourViewController is the VC that contains a table view or collection view with a refresh control.
YourViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];
// Or not using storyboard
// YourViewController *vc = [YourViewController new];
vc.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:vc animated:YES completion:nil];

Поэкспериментируйте с другими параметрами modalPresentationStyle в соответствии с вашими потребностями.

Больше информации в Apple Docs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...