Ios 我是否可以在swift中为UIViewController而不是UITableViewController创建刷新拉取?

Ios 我是否可以在swift中为UIViewController而不是UITableViewController创建刷新拉取?,ios,swift,view,Ios,Swift,View,我有一个简单的应用程序,不需要使用UITableViewController构建。是否有机会为简单的UIViewController创建“拉入刷新”功能?是的,有。事实上,要使用UIRefreshControl只有一个要求-您可以将UIRefreshControl放在UIScrollView或其子类(例如UITableView或UICollectionView)的内部 Swift中的示例代码: Objective-c中的示例代码: -(void)viewDidLoad { [超级视图下载]; /

我有一个简单的应用程序,不需要使用UITableViewController构建。是否有机会为简单的UIViewController创建“拉入刷新”功能?

是的,有。事实上,要使用
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()
   }
}