`
anlulu
  • 浏览: 43401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ios中的列表刷新控件UIRefreshControl

 
阅读更多

概述:

      Refresh control 是ios6之后新添加的刷新控件,它的使用非常简单,出现在表格的顶部,当表格出现下拉的时候,出现动画效果告诉用户,表格正在加载。像现在的微博,QQ,twitter的客户端,无处不见这种加载效果。



 

代码:

     要使用Refresh control,我们要实现它的addTarget:action:forControlEvents: 实例方法,在今天这个demo里面,我们需要一个UItableView

@property (nonatomic, strong) NSMutableArray *times;
@property (nonatomic, strong) UIRefreshControl *refreshControl;

 

初始化表格的时候,重载的方法:

- (id)initWithStyle:(UITableViewStyle)style{
    self = [super initWithStyle:style];
    if (self) {
        self.times = [NSMutableArray arrayWithObject:[NSDate date]];
        
        /* Create the refresh control */
        self.refreshControl = [[UIRefreshControl alloc] init];
        self.refreshControl = self.refreshControl;
        [self.refreshControl addTarget:self
                                action:@selector(handleRefresh:)
                      forControlEvents:UIControlEventValueChanged];
        
    }
    return self;
}

 添加表格数据和添加refresh control 的target:

- (void) handleRefresh:(id)paramSender{
    
    /* Put a bit of delay between when the refresh control is released
     and when we actually do the refreshing to make the UI look a bit
     smoother than just doing the update without the animation */
    int64_t delayInSeconds = 1.0f;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        
        /* Add the current date to the list of dates that we have
         so that when the table view is refreshed, a new item will appear
         on the screen so that the user will see the difference between
         the before and the after of the refresh */
        [self.times addObject:[NSDate date]];
        
        [self.refreshControl endRefreshing];
        [self.tableView reloadData];
    });
    
}

 表格的数据源的方法:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section{
    return self.times.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell =
    [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleDefault
                reuseIdentifier:CellIdentifier];
    }
    
    cell.textLabel.text = [NSString stringWithFormat:@"%@",
                           self.times[indexPath.row]];
    
    return cell;
}

 实现效果如下:



 

  • 大小: 164.9 KB
  • 大小: 106.4 KB
分享到:
评论

相关推荐

    ios自定义下拉刷新控件

    下面我们将深入探讨如何在iOS中实现自定义下拉刷新控件。 一、下拉刷新基础 1. UIRefreshControl:苹果提供的系统下拉刷新控件,内置了简单的旋转菊花动画。虽然简单易用,但样式有限,无法满足所有设计需求。 2....

    ios-刷新控件.zip

    在iOS开发中,刷新控件是用户界面中不可或缺的一部分,特别是在滚动视图(如UITableView或UICollectionView)中。"ios-刷新控件.zip"文件提供的内容很可能是为了帮助开发者理解和实现下拉刷新(Pull-to-Refresh)和...

    ios-刷新控件的架构.zip

    在iOS开发中,刷新控件是用户界面中不可或缺的一部分,它们通常用于列表视图(如UITableView或UICollectionView)中,提供一种动态更新数据的方式。当用户下拉或上拉列表时,这些控件会显示动画效果,同时加载新的...

    ios-Swift写的下拉刷新控件.zip

    Swift编写的iOS下拉刷新控件是iOS应用开发中的一个重要组件,它允许用户在滚动到列表顶部时触发数据的更新。这种功能常见于新闻、社交媒体和电商应用中,为用户提供实时的内容更新。JxbRefresh是一个由GitHub用户...

    ios-高仿京东下拉刷新控件.zip

    在iOS开发中,下拉刷新控件是一种常见的交互设计,让用户可以轻松地更新内容,而无需离开当前页面。本文将详细介绍如何实现一个高仿京东下拉奔跑小人的刷新控件,以及相关技术点。 首先,我们需要理解下拉刷新的...

    ios列表下拉刷新

    在iOS开发中,"下拉刷新"(PullToRefresh)是一项常见的功能,它允许用户通过在列表顶部向下拉动来更新内容。这个特性广泛应用于新闻应用、社交媒体应用等,确保用户可以轻松获取最新的信息。本文将深入探讨iOS下拉...

    i模仿 ios6 uirefreshcontrol

    在iOS开发中,`...总的来说,这个项目提供了在iOS 6环境下使用下拉刷新功能的示例,对于开发者来说,它可以帮助理解如何在旧版系统中实现兼容性,并提供了一种可能具有独特视觉效果的刷新控件实现方式。

    Xamarin.IOS tableview下拉刷新

    在Xamarin.iOS开发中,`UITableView`是展示数据列表的标准组件,它允许用户滚动查看大量信息。当用户希望获取更新内容时,一个常见的交互模式就是下拉刷新(Pull-to-Refresh)。这个功能允许用户向下拉动表格视图,...

    ios-下来刷新.zip

    在iOS中,实现下拉刷新功能通常有两种方式:使用系统提供的UIRefreshControl,或者自定义刷新控件。 1. UIRefreshControl:苹果官方提供的下拉刷新控件,易于集成且兼容性好。开发者只需几行代码就能添加到...

    ios-水滴效果的下拉刷新.zip

    总之,"ios-水滴效果的下拉刷新.zip"包含了一个自定义的下拉刷新控件实例,开发者可以通过研究这个实现来学习如何在iOS应用中创建独特的刷新动画。虽然原作者认为还有改进空间,但这个示例仍然能够启发我们思考如何...

    ios-一款傻瓜似的刷新控件.zip

    在iOS开发中,常见的刷新控件有Apple官方提供的UIRefreshControl,但它的自定义程度相对较低。相比之下,LDRefresh提供了更多的定制选项,包括但不限于刷新指示器的样式、颜色、动画效果等,这使得开发者可以根据...

    下拉刷新控件demo

    下拉刷新控件是移动应用开发中常见的交互元素,它允许用户通过在屏幕上向下拉动来刷新数据。在iOS和Android平台上,这种功能被广泛应用在新闻、社交媒体和其他需要实时更新信息的应用中。本“下拉刷新控件demo”提供...

    ios6 UIRefreshControl 实现上拉,下拉功能

    在iOS开发中,UIRefreshControl是苹果提供的一种用于实现下拉刷新和上拉加载功能的控件,尤其在处理列表数据流时非常实用。在iOS6版本中,UIRefreshControl开始被广泛使用,为用户提供了直观且易于集成的刷新体验。...

    ios-支持横向和纵向刷新.zip

    2. **UIRefreshControl**: iOS自带的下拉刷新控件,但不支持横向刷新,所以自定义控件通常是必要的。 3. **手势识别器(Gesture Recognizers)**:用于捕捉用户的滑动操作,是实现双向刷新的关键。 4. **...

    iOS表格下拉刷新表格显示时间

    总之,"iOS表格下拉刷新表格显示时间"是iOS应用开发中的一个重要特性,它结合了UIRefreshControl、网络请求、数据处理和用户体验等多个方面的技术。正确实现这一功能,可以提高应用的用户满意度,让信息保持实时更新...

    iOS表视图之下拉刷新控件功能的实现方法

    UIRefreshControl是苹果官方提供的一个专门用于实现下拉刷新的控件,它可以直接与UITableView配合使用。以下是一个简单的实现下拉刷新的步骤: 1. **初始化UIRefreshControl**: 在`viewDidLoad`方法中,你可以...

    下拉刷新控件

    下拉刷新控件是移动应用开发中常见的交互元素,它允许用户通过在列表顶部向下拉动来刷新内容。这种设计在社交媒体、新闻应用和邮件客户端等需要实时更新信息的应用中非常常见。本文将深入探讨下拉刷新的核心原理、...

    iOS上下拉刷新

    在iOS开发中,"上下拉刷新"是一种常见的用户体验设计,让用户可以轻松获取最新数据。它主要应用于UITableView或UICollectionView等滚动视图中。本教程将深入探讨如何在iOS应用中实现这个功能,通过提供的"上下拉刷新...

    swift-自定义下拉刷新控件

    在iOS中,这种功能通常由UIRefreshControl类提供,它是系统内置的下拉刷新控件。然而,为了满足特定的视觉效果或功能需求,开发者可能需要自定义这个组件。自定义下拉刷新控件涉及的关键点包括动画设计、事件处理...

Global site tag (gtag.js) - Google Analytics