我在tableview中使用了UIRefreshControl,它在ios 13中自动呈现了视图控制器。在同一视图控制器中使用了tableview。
vc.modalPresentationStyle = .automatic
问题在于,只要刷新刷新,视图控制器就会立即关闭。 我已阻止以下代码解雇,但视图控制器仍然无法从顶部刷新。
vc.isModalInPresentation = true
如何在不关闭视图控制器的情况下刷新表格视图?
答案 0 :(得分:2)
如果iOS版本晚于10,请使用tableView的RefreshControl,不要使用addSubview。
ng g s services/bram --module app
无论ModalInPresentation是对还是错。
答案 1 :(得分:0)
解决方案是在展示视图控制器之前,使用可用的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中的更多信息。