UIView上的Xcode UIRefresh控件

UIView上的Xcode UIRefresh控件,xcode,uiview,uirefreshcontrol,Xcode,Uiview,Uirefreshcontrol,我正在构建一个应用程序,需要能够通过拉动刷新,然后重新运行ViewDidLoad。 所以我知道我可以使用UIRefreshControl,但我只能找到UITableViewController中使用的代码。 有人知道如何在UIView而不是UITableView中使用UIRefreshControl吗。 提前感谢。非常容易: 将控件保留为成员或属性: UIRefreshControl *_refreshControl; 将此添加到viewDidLoad方法:(只需将控件添加到tableView

我正在构建一个应用程序,需要能够通过拉动刷新,然后重新运行ViewDidLoad。 所以我知道我可以使用UIRefreshControl,但我只能找到UITableViewController中使用的代码。 有人知道如何在UIView而不是UITableView中使用UIRefreshControl吗。 提前感谢。

非常容易: 将控件保留为成员或属性:

UIRefreshControl *_refreshControl;
将此添加到viewDidLoad方法:(只需将控件添加到tableView。当然,请确保tableView不是零)

实现刷新方法:

- (void)refresh:(UIRefreshControl *)refreshControl {
   [self reloadData];
    //Don't forget to stop the refreshing animation after data reloads.
  [_refreshControl endRefreshing];
}
非常容易: 将控件保留为成员或属性:

UIRefreshControl *_refreshControl;
将此添加到viewDidLoad方法:(只需将控件添加到tableView。当然,请确保tableView不是零)

实现刷新方法:

- (void)refresh:(UIRefreshControl *)refreshControl {
   [self reloadData];
    //Don't forget to stop the refreshing animation after data reloads.
  [_refreshControl endRefreshing];
}
试试这个

[myView setNeedsDisplay];
这将重新加载视图控制器。您可以将其放在方法中,并在拉取刷新期间调用它…希望这对您有所帮助。 快乐编码;)

试试这个

[myView setNeedsDisplay];
这将重新加载视图控制器。您可以将其放在方法中,并在拉取刷新期间调用它…希望这对您有所帮助。
快乐编码;)

UIRefreshControl
不能在没有表格的情况下使用。中的本说明特别警告不要使用此类设备:

注意:因为刷新控件是专门为在由表视图控制器管理的表视图中使用而设计的,在 不同的上下文可能导致未定义的行为

因此,尽管可以让控件工作,但您确实不应该在没有表的情况下使用它。滚动自己的刷新控件是更好的解决方案


更好的是,尝试设计你的应用程序,这样用户就不需要刷新视图。应用程序应该知道何时有新数据可用。让用户刷新的唯一借口是,如果自动刷新,可能会让用户感到困惑,或者使应用程序更难使用。

UIRefreshControl
不能在没有表格的情况下使用。中的本说明特别警告不要使用此类设备:

注意:因为刷新控件是专门为在由表视图控制器管理的表视图中使用而设计的,在 不同的上下文可能导致未定义的行为

因此,尽管可以让控件工作,但您确实不应该在没有表的情况下使用它。滚动自己的刷新控件是更好的解决方案


更好的是,尝试设计你的应用程序,这样用户就不需要刷新视图。应用程序应该知道何时有新数据可用。让用户刷新的唯一借口是,如果自动刷新会让用户感到困惑,或者让应用程序更难使用。

我知道这一点,但问题是,我没有使用TableView,因此代码无法工作:(…啊,很抱歉,但您也可以在不使用UITableViewController的情况下使用此选项。尝试将空tableView添加为子视图,并使用相同的代码。我知道这一点,但问题是,我没有使用tableView,因此代码无法工作:(…啊,很抱歉,但您也可以在不使用UITableViewController的情况下使用此功能。请尝试将空的tableView添加为子视图,并使用相同的代码。“应用程序应该知道何时有新数据可用。”哦,真的吗?谢谢你提供有关UIRefreshControl的信息,但你的编辑评论太离谱了。如果这是真的,为什么苹果的每个主要应用程序都有一个刷新控件来获取更新的数据?此外,我想大多数用户都喜欢用这个控件来刷新数据。我知道我有。@Harris可能只是观点不同而已n在这里,但总的来说,我认为一个总是最新的、不需要用户干预的应用程序比一个用户必须做些事情来获取不过时的数据的应用程序要好。你能想象一个股票行情应用程序或天气应用程序,用户必须要求最新的数据吗?在没有明确用户的情况下刷新可能并不总是可取的但是如果它有意义的话就更好了。至于苹果的应用程序:当我在Mac上的页面中创建一个新文档时,它或多或少会立即显示在我的iPad上——不需要刷新。“应用程序应该知道什么时候有新数据可用。”哦,真的吗?谢谢你提供有关UIRefreshControl的信息,但你的编辑评论太离谱了。如果这是真的,为什么苹果的每个主要应用程序都有一个刷新控件来获取更新的数据?此外,我想大多数用户都喜欢用这个控件来刷新数据。我知道我有。@Harris可能只是观点不同而已n在这里,但总的来说,我认为一个总是最新的、不需要用户干预的应用程序比一个用户必须做些事情来获取不过时的数据的应用程序要好。你能想象一个股票行情应用程序或天气应用程序,用户必须要求最新的数据吗?在没有明确用户的情况下刷新可能并不总是可取的对于苹果的应用程序来说:当我在Mac上的页面中创建一个新文档时,它或多或少会立即显示在我的iPad上——不需要刷新。