Objective-C UIRefreshControl 不起作用
Posted
技术标签:
【中文标题】Objective-C UIRefreshControl 不起作用【英文标题】:Objective-C UIRefreshControl not workng 【发布时间】:2013-09-03 09:16:51 【问题描述】:我正在尝试在我的UITableView
上实现UIRefreshControl
,而无需使用 TableViewController 并将“Refresh”设置为启用。
到目前为止,我已经在 ViewController.h 文件中全局声明了以下内容:
@property (strong, nonatomic) UIRefreshControl *refreshView;
-(void)refreshTableView;
并在 ViewController.m 文件中将以下代码添加到我的viewDidLoad
:
self.refreshView = [[UIRefreshControl alloc] init];
self.refreshView.attributedTitle = [[NSAttributedString alloc]initWithString:@"Pull To Refresh"];
[self.refreshView addTarget:self action:@selector(refreshMyTableView) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:self.refreshView];
最后,在我的 ViewController.m 文件中,我有了这个方法:
-(void)refreshTableView
[self.tableView reloadData];
[self.refreshView endRefreshing];
我做错了什么?对此事的任何了解将不胜感激! :)
【问题讨论】:
【参考方案1】:你想用这段代码做什么?
self.refreshView = self.refreshView;
改变它并尝试:
[yourTableView addSubview:self.refreshView];
【讨论】:
太棒了。这让我可以看到“拉动刷新”UI,但现在当我拉动刷新它时,它会崩溃并出现以下错误:“-[FFViewController refreshMyTableView]: unrecognized selector sent to instance” 有什么想法吗?我一定会很感激的。 你应该将你在 UIRefreshControl 中设置的方法添加到你的 FFViewController,所以 - (void) refreshMyTableView //Do something @Vik 我的道歉..ViewController.m 是 FFViewController.m。换句话说,我已经有了那个方法。如上面代码中所述。 然后尝试做 [self.refreshView addTarget:self action:@selector(refreshMyTableView:) forControlEvents:UIControlEventValueChanged]; (我在选择器名称之后添加了:)并像这样写方法签名 - (void)refreshMyTableView:(id)sender //Do something 看看这是否改变了一些东西以上是关于Objective-C UIRefreshControl 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionView UIRefreshControl 在访问不同的视图后没有动画