iOS10中UIScrollView新增refreshControl属性

释放双眼,带上耳机,听听看~!

UIRefreshControl并不是新的控件,iOS10 中只不过是给UIScrollView添加了刷新refreshControl这个属性。

iOS 10 以后只要是继承UIScrollView那么就支持刷新功能:做了个简单测试代码如下

#define WIDTH [[UIScreen mainScreen] bounds].size.width

#define HEIGHT [[UIScreen mainScreen] bounds].size.height

@interfaceViewController ()<UIScrollViewDelegate>

@property (nonatomic,strong)UIScrollView
*scrollView;

@end

@implementation ViewController

- (void)viewDidLoad {

    [superviewDidLoad];

    

    self.scrollView = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,0,WIDTH,HEIGHT)];

   
//滚动视图的代理

    self.scrollView.delegate =self;

    

    self.scrollView.backgroundColor
= [UIColoryellowColor];

    //只要创建出UIRefreshControl即可。

    self.scrollView.refreshControl  = [[UIRefreshControlalloc]init];

    //frame 没发现起作用

    // self.scrollView.refreshControl.frame = CGRectMake(0, 0, 0, 0);

   
//前景色:菊花转的颜色

    self.scrollView.refreshControl.tintColor
= [UIColorcyanColor];

    //添加标题

    self.scrollView.refreshControl.attributedTitle
= [[NSAttributedStringalloc]initWithString:@"下拉刷新"];

    

   
//背景色:刷新控制器的背景

    self.scrollView.refreshControl.backgroundColor
= [UIColorwhiteColor];

    // 添加刷新方法

    [self.scrollView.refreshControladdTarget:selfaction:@selector(downloadData)
forControlEvents:UIControlEventValueChanged];

    

    [self.viewaddSubview:self.scrollView];

    

   
//设置为NO刷新控制器失效

    self.scrollView.bounces =YES;

}

#pragma mark - 在这里实现下拉数据的加载

- (void)downloadData{

    NSLog(@"加载新数据");

}
#pragma mark - UIRefreshControl的开始刷新的方法

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

    NSLog(@"即将开始拖拽");

}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{

    NSLog(@"即将开始减速");

}

#pragma mark - UIRefreshControl的停止刷新的方法

#if
1//停止下拉后,延迟1s左右完成减速后停止刷新

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    [self.scrollView.refreshControlendRefreshing];

}
#else
#if
1
//停止下拉拖拽后立即停止刷新

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

    [self.scrollView.refreshControl endRefreshing];

}

#endif
#endif

@end

 

 

 

人已赞赏
iOS文章

UICollectionView中的dataSource、delegate、delegateFlowLayout常用方法说明

2020-2-29 22:25:27

iOS文章

iOS动态监听UITextField键盘的弹出与退出

2020-3-1 7:00:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索