【问题标题】:Objective-C UIRefreshControl not workngObjective-C UIRefreshControl 不起作用
【发布时间】: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];
}

我做错了什么?对此事的任何了解将不胜感激! :)

【问题讨论】:

    标签: iphone ios objective-c uirefreshcontrol


    【解决方案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 } 看看这是否改变了一些东西
    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 2015-10-23
    • 2019-09-15
    • 1970-01-01
    相关资源
    最近更新 更多