IOS中UITableView滚动到指定位置

 更新时间:2016年09月28日 11:40:19   投稿:mrr  
这篇文章主要介绍了IOS中UITableView滚动到指定位置的实现方法,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下

方法很简单:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated

有些需要注意的地方:

如果在reloadData后需要立即获取tableview的cell、高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的。

reloadDate并不会等待tableview更新结束后才返回,而是立即返回,然后去计算表高度,获取cell等。

如果表中的数据非常大,在一个run loop周期没执行完,这时,需要tableview视图数据的操作就会出问题了。

apple并没有直接提供reloadData的api,想要程序延迟到reloadData结束在操作,可以用以下方法:

方法一:

[self.tableView reloadData];
[self.tableView layoutIfNeeded];
//刷新完成

方法二:

[self.tableView reloadData];
dispatch_async(dispatch_get_main_queue(), ^{
//刷新完成
});

reloadDate会在主队列执行,而dispatch_get_main_queue会等待机会,直到主队列空闲才执行。

类似函数:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated;
- (void)scrollToNearestSelectedRowAtScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated;
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; // animate at constant velocity to new offset
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated;

当使用[tableView reloadData];刷新数据时,不能直接在后面使用上面的函数。reload

以上所述是小编给大家介绍的IOS中UITableView滚动到指定位置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • iOS动态调整UILabel高度的几种方法

    iOS动态调整UILabel高度的几种方法

    在iOS编程中UILabel是一个常用的控件,下面这篇文章主要给大家介绍了关于iOS动态调整UILabel高度的几种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-12-12
  • iOS无障碍适配西瓜视频Voice Over实践示例

    iOS无障碍适配西瓜视频Voice Over实践示例

    本文从研发的视角出发,讲述了如何使用 Voice Over、如何适配 Voice Over 以及适配过程中如果遇到问题应该如何解决。希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • iOS开发之UIMenuController使用示例详解

    iOS开发之UIMenuController使用示例详解

    这篇文章主要为大家介绍了iOS开发之UIMenuController使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • iOS中使用NSProgress类来创建UI进度条的方法详解

    iOS中使用NSProgress类来创建UI进度条的方法详解

    NSProgress是iOS7以后引入的用于制作进度条的类,能够监听多个任务,这里就为大家带来iOS中使用NSProgress类来创建UI进度条的方法详解,需要的朋友可以参考下
    2016-06-06
  • iOS应用UI开发中的字体和按钮控件使用指南

    iOS应用UI开发中的字体和按钮控件使用指南

    这篇文章主要介绍了iOS应用UI开发中的字体和按钮控件使用指南,分别简单讲解了UILabel和UIButton的用法,需要的朋友可以参考下
    2016-01-01
  • Objective-C中利用正则去除非数字字母汉字方法实例

    Objective-C中利用正则去除非数字字母汉字方法实例

    正则表达式对我们日常开发来说是必不可少的,下面这篇文章主要给大家介绍了关于Objective-C中如何利用正则去除非数字字母汉字的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-06-06
  • IOS 中UIKit-UIPageControl利用delegate定位圆点位置

    IOS 中UIKit-UIPageControl利用delegate定位圆点位置

    这篇文章主要介绍了IOS 中UIKit-UIPageControl利用delegate定位圆点位置 的相关资料,需要的朋友可以参考下
    2017-04-04
  • iOS实现富文本编辑器的方法详解

    iOS实现富文本编辑器的方法详解

    大家在开发的时候经常会用到富文本编辑器,所以这篇文章就给大家整理了如何使用iOS实现富文本编辑器的方法,相信本文对大家具有一定的参考借鉴价值,有需要的朋友们可以一起来看看。
    2016-10-10
  • IOS 中两种单例模式的写法实例详解

    IOS 中两种单例模式的写法实例详解

    这篇文章主要介绍了IOS 中两种单例模式的写法实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • iOS开发中简单实用的几个小技巧

    iOS开发中简单实用的几个小技巧

    大家可能都知道,在开发过程中我们总会遇到各种各样的小问题,有些小问题并不是十分容易解决。在此我就总结一下,我在开发中遇到的各种小问题,以及我的解决方法,也算是些小技巧吧,分享给大家,方便大家在iOS开发的时候能够参考借鉴,下面有需要的朋友一起来看看吧。
    2016-11-11

最新评论