Ios 我是否可以在swift中为UIViewController而不是UITableViewController创建刷新拉取?
我有一个简单的应用程序,不需要使用UITableViewController构建。是否有机会为简单的UIViewController创建“拉入刷新”功能?是的,有。事实上,要使用Ios 我是否可以在swift中为UIViewController而不是UITableViewController创建刷新拉取?,ios,swift,view,Ios,Swift,View,我有一个简单的应用程序,不需要使用UITableViewController构建。是否有机会为简单的UIViewController创建“拉入刷新”功能?是的,有。事实上,要使用UIRefreshControl只有一个要求-您可以将UIRefreshControl放在UIScrollView或其子类(例如UITableView或UICollectionView)的内部 Swift中的示例代码: Objective-c中的示例代码: -(void)viewDidLoad { [超级视图下载]; /
UIRefreshControl
只有一个要求-您可以将UIRefreshControl
放在UIScrollView
或其子类(例如UITableView
或UICollectionView
)的内部
Swift中的示例代码:
Objective-c中的示例代码:
-(void)viewDidLoad
{
[超级视图下载];
//...
UIRefreshControl*refreshControl=[UIRefreshControl新建];
[refreshControl添加目标:自我操作:@selector(didPullToRefresh)for ControlEvents:UIControlEventValueChanged];
[self.scrollView addSubview:refreshControl];
}
-(无效)未刷新
{
}
从iOS 6开始,UIScrollView
上有一个refreshControl
属性(因此它是子类,UITableView
和UICollectionView
)
苹果文档中的代码:
是的,但您必须“滚动您自己的”或找到第三方库来帮助您。您在UIViewController中从何处获得滚动视图?您需要创建一个滚动视图并将其添加为子视图。
override func viewDidLoad() {
{
super.viewDidLoad()
//...
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(didPullToRefresh), forControlEvents: .ValueChanged)
scrollView.addSubview(refreshControl)
}
func didPullToRefresh() {
}
func configureRefreshControl () {
// Add the refresh control to your UIScrollView object.
myScrollingView.refreshControl = UIRefreshControl()
myScrollingView.refreshControl?.addTarget(self, action:
#selector(handleRefreshControl),
for: .valueChanged)
}
@objc func handleRefreshControl() {
// Update your content…
// Dismiss the refresh control.
DispatchQueue.main.async {
self.myScrollingView.refreshControl?.endRefreshing()
}
}