UIRefreshControl for Tableview or TableViewController

本文介绍了一个iOS应用中实现UITableView拉拽刷新功能的方法。通过设置UIRefreshControl并将其添加到UITableView上,当用户从屏幕顶部向下拉拽时,UIRefreshControl会显示提示信息并在释放后开始刷新数据。同时,文中提供了具体实现的代码片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

@interfaceViewController ()

//@property (nonatomic,strong) UITableView *myTableView;

@property (nonatomic,strong) UITableViewController *myTableViewController;

 

@end

 

@implementation ViewController

 

-(void)refreshView:(UIRefreshControl *)refresh {

    

    refresh.attributedTitle = [[NSAttributedStringalloc] initWithString:@"Refreshing data..."];

    

    // custom refresh logic would be placed here...

    

    NSDateFormatter *formatter = [[NSDateFormatteralloc] init];

    [formatter setDateFormat:@"MMM d, h:mm a"];

    NSString *lastUpdated = [NSString stringWithFormat:@"Last updated on %@",

                             [formatter stringFromDate:[NSDate date]]];

    

    refresh.attributedTitle = [[NSAttributedString alloc] initWithString:lastUpdated];

    [refresh endRefreshing];

    

}

 

 

- (void)viewDidLoad

{

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    

    SEL refreshSEL = @selector(refreshView:);

/*

    self.myTableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];

    self.myTableView.delegate = self;

    self.myTableView.dataSource = self;

 

    

    [self.view addSubview:self.myTableView];

    

    UIRefreshControl *refresh = [[UIRefreshControl alloc] init];

    refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];

    [refresh addTarget:self action:refreshSEL forControlEvents:UIControlEventValueChanged];

    

    [self.myTableView addSubview:refresh];

*/

    

    

    self.myTableViewController = [[UITableViewControlleralloc] initWithStyle:UITableViewStylePlain];

    self.myTableViewController.tableView.delegate = self;

    self.myTableViewController.tableView.dataSource = self;

    

    UIRefreshControl *refresh = [[UIRefreshControlalloc] init];

    refresh.attributedTitle = [[NSAttributedStringalloc] initWithString:@"Pull to Refresh"];

    [refresh addTarget:selfaction:refreshSEL forControlEvents:UIControlEventValueChanged];

    

    self.myTableViewController.refreshControl = refresh;

    

    [self.viewaddSubview:self.myTableViewController.tableView];

    [selfaddChildViewController:self.myTableViewController];

    

}

 

 

 

Resource:

https://github.com/RbBtSn0w/RefreshControl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值