相信UITableView下拉刷新大家都已经再熟练不过了,但需要讲述的不是常规的使用方法
在iOS中如果我们直接继承UITableViewController或者在控制器中通过协议的方式实现UITableView通常使用原生的下拉控件会很方便,只需将UIRefreshController控件的对象赋值给self.tableView.header就行,但如果是将一个UIView中封装一个UITableView,并且要在其中封装进下拉控件如果使用常规的方法将下拉刷新控件对象赋值给self.tableView.header我们会发现显示出来后不论是否在下拉刷新状态tableView的顶部会一直有一个空白多余出来,在此时我们应使用self.tableView addSubview将下拉刷新控件添加进tableView,以此种方式添加后将能正常使用
关于在UIView中封装UITableView并且带下拉刷新事件的写法:
<span style="font-size:18px;">self.refresh = [[UIRefreshControl alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.frame.size.width, self.tableView.bounds.size.height)];
<span style="color:#990000;">[self.tableView addSubview:self.refresh];</span>
/// @brief 刷新时的提示文字
self.refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"数据加载中..."];
/// @breif 设置提示文字颜色
self.refresh.tintColor = [UIColor blackColor];
//给刷新控件设计事件
[self.refresh addTarget:self action:@selector(refreshValueChanged:) forControlEvents:UIControlEventValueChanged];</span>
如有不明白的地方欢迎咨询:
QQ:294491256
Telephone:13390517636