首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

[UITableView scrollToRowAtIndexPath:]滚动,但返回第1行

概念

UITableView scrollToRowAtIndexPath: 是苹果 (Apple) 提供的 UITableView 类中的一个方法,用于将指定的 UITableViewCell 滚动到指定的 NSIndexPath 位置。

分类

  • UITableView
  • UITableViewCell
  • NSIndexPath

优势

  • 提供了一种简单的方式来滚动到指定的 UITableViewCell 位置。
  • 可以用于实现一些特殊的效果,如根据手指滑动距离来滚动到某个特定的 UITableViewCell 位置。

应用场景

  • 滚动展示列表中的内容。
  • 滚动到某个特定的 UITableViewCell 位置,以实现一些特殊的效果。

推荐的腾讯云相关产品

产品介绍链接地址

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS开发笔记(十一)— UITableView、ARC、xcconfig、Push

前言 分享iOS开发中遇到的问题,和相关的一些思考,本次内容包括:UITableView滚动问题、ARC、xcconfig、Push证书。...正文 UITableView UITableView在reloadData 的时候,如果height的高度发生较大变化,contentOffset无法保持原来的大小时,会发生滚动的效果。...如果需要去除该滚动效果,可以在reloadData之后,调用scrollToRowAtIndexPath并设置animated:NO,最后再用setContentOffset:微调位置。...UITableView还有类似的问题,如果列表项过多时,scrollToRowAtIndexPath有时并不准确,比如有1000行时滚动500行,此时可能会出现滚到501或者499行的情况。...从这里去分析,如果需要滚动到准确的位置,可以用estimatedRowHeight的属性,设置和行高一样的高度;在行高各不相同的场景,可以设置estimatedRowHeight为大致的数字,在scrollToRowAtIndexPath

1.8K20
  • ios tableview 上加 textfiled

    但是 后来在开发中遇到一个问题  :    因为使用的是UItableviewContrller   当时我们的设计就说 可不可以将下边的按钮审核中 让他的位置固定  ,不随tableview的滚动滚动...思路: uiviewcontroller+uitableview 让tableview  的当前编辑的cell 始终处于  tableview 的中间位置,这样的话就不会被挡住了。...当然了    tableview 里边就有相应的方法: [_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle...indexPath = [NSIndexPath indexPathForRow:textField.tag inSection:0]; //将要编辑的textfield 所在的cell 使其滚动到中间的位置...[_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle

    96850

    IOS开发:教你实现手机直播系统平台评论功能效果

    消息列表,必定是一个UITableView,每个消息是一个cell,每次接收到一条消息立刻添加到数据数组中,同时刷新UITableView滚动到底部。 没错思路就是这样,但是问题来了. . ....即使UITableView有复用机制,也还是不行的,整个效果有一闪一闪的。可以试一下就知道了。 那么不能刷新,我们就用插入n行,并且滚动n行 没错 . . . 就是这样实现效果了 . . ....原因,在于消息所在的高度还不过我们设置UITableView的高度,滚动n行的时候并没有效果。 那么我们换一个思路,来实现,那就是从下往上添加数据。 这样不管你数据多少都会有动画。...旋转180 _tableView.transform = CGAffineTransformMakeScale(1, -1); 然后单单把UITableView旋转,你会发现,还有问题 什么问题 ?

    2K00

    UITableView性能提升和优化(

    这个加载过程同样会影响到滚动性能,当iOS不能返回cell来渲染UI时。 由于这个原因,请参考ReuseImageViewController这个给工程。...如果你的apps能够达到这个水平,你不必再担心滚动时的性能了;它非常的流畅。通常,对于一个正常的,简单的里面包含很多subviews的UITableView来说,这已经是一个非常好的性能了。...如果滚动的性能依然不好,你就必须使用一个更好但是更复杂的方式来达到同样的性能。 正如在1章和2章提到的,你应该总是小心谨慎,避免过度优化。为了一个很小的性能优化而浪费太多的时间是非常不值得的。...因此从这点考虑,如果你的应用依然存在滚动性能方面的问题,你应该转到2个例子,它使用到了UITableViewCell的绘制技术。...当OS需要为TableView渲染一个新的cell,会通过调用下面的方法来返回一个新的cell: - (UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath

    67420

    优雅的处理网络数据,你真的会吗?不如看看这篇.

    ,然后在控件底部显示一个 Loading 动画,待请求数据返回后,Loading 动画消失,由 UITableView 或者 UICollectionView 控件继续加载这些数据并显示给用户,效果如下图所示...来显示返回的数据,在 viewDidLoad 中先请求网络数据来获取一些初始化数据,然后再利用 UITableView 的 Prefetching API 来对数据进行预加载,从而来实现数据的无缝加载...正常情况下,我们在构建 UITableView 这个控件的时候,需要对它的行数(numsOfRow)做一个初始化,这个行数对我们实现无限加载和无缝加载是一个很关键的因素,假设我们每次根据服务端返回的数据量去更新...回到我上面所说的无限滚动, 其实实现起来并不难,正常情况下,我们向服务端请求大量相同类型的数据的时候,都会提供一个接口,我称之为分页请求接口,该接口在每次数据返回的时候,都会告诉客户端总共有多少页数据,...Prefetch 和 CancelPrefetch 操作的: image 好了,到这里我就简单的实现了 UITableView 无限滚动和对数据无缝加载的效果,你学会了吗?

    1.4K20

    iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果

    功能描述:锁屏歌曲信息、控制台远程控制音乐播放:暂停/播放、上一首/下一首、快进/快退、锁屏状态下列表菜单弹框和拖拽控制台的进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下的效果)、歌词解析并随音乐滚动显示..._lockScreenTableView) { _lockScreenTableView = [[UITableView alloc] initWithFrame:CGRectMake...nonatomic, assign) NSUInteger time ; @property(nonatomic, copy) NSString * lrc ; @end 接下来就是要让歌词随歌曲的进度来滚动显示...self.tableView 显示歌词的 currentTime 当前播放时间点 self.currentRow 当前时间点歌词的位置 //歌词滚动显示...lrc.time < currentTime) { self.currentRow = i; [self.tableView scrollToRowAtIndexPath

    2.8K70

    AsyncDisplayKit 2.0 教程:入门「译」

    事实上,虽然他们定义了一些完全相同的方法,如 -tableNode:numberOfRowsInSection:,两组协议也不完全相同,因为 ASTableNode 行为和UITableView还以所有不同的...我们都知道,每个 UITableView 至少都要提供一个 -tableView:heightForRowAtIndexPath: 实现方法,因为每个 cell 的高度都由代理计算和返回。...如果返回 NO,则在到达 API 数据末尾时,不会再不会发出任何请求。 因为你希望无限滚动,那就返回 YES,以确保总是请求新的数据。...假设你有一个竖直滚动的tableView,在其中某些Cell包含了水平滚动的 collectionView。...准备好之后,请转到该项目的2部分,了解 AsyncDisplayKit 2.0 引入的强大的新的布局系统。 如果你想先进行深入了解,你可以阅读 AsyncDisplayKit主页 的文档。

    2.2K20

    iOS开发中行高灵活可变的UITableView的性能优化

    开发者通常需要在如下代理方法中计算出当前cell填充内容后的高度,之后将其返回: -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath...至于为何UITableView在进行配置时也需要拉取所有的行高数据,我猜想其为了进行视图的一些初始化操作,例如表视图右侧滚动条的宽度和所占比例等。...关于细节方面,还有一个问题需要注意,预估的行高会影响到TableView右侧滚动条的展现,如果每个cell行高跳跃跨度十分大,滚动条宽度的配置会失准,随着用户滑动表视图,右侧滚动条可能会出现长短跳跃的情况...,如果开发者需要精准这个滚动条的配置,可以在如下代理方法中返回具体cell的估计行高。...,其实分区头尾视图也可以通过Autolayout实现自适应高度,示例代码如下: //返回一个估计的分区头视图高度 -(CGFloat)tableView:(UITableView *)tableView

    2K20

    iOS中表视图(UITableView)使用详解

    iOS中UITableView使用总结 一、初始化方法 - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style...通过这个属性,可以手动设置分割线的位置偏移,比如你向让tableView的分割线只显示右半边,可以如下设置: UITableView * tab = [[UITableView alloc]initWithFrame...point;   获取某个cell在tableView中的位置信息 - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell;  根据一个矩形范围返回一个信息数组...根据分区获取尾视图 - (UITableViewHeaderFooterView *)footerViewForSection:(NSInteger)section;  使表示图定位到某一位置(行) - (void)scrollToRowAtIndexPath...了解了上面几个函数,我们来看什么是操作刷新块: 当我们调用的上面的函数时,tableView会立刻调用代理方法进行刷新,如果其中我们所做的操作是删除某行,而然数据源数组我们可能并没有刷新,程序就会崩溃掉,原因是代理返回的信息和我们删除后不符

    1.4K30

    iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果

    功能描述:锁屏歌曲信息、控制台远程控制音乐播放:暂停/播放、上一首/下一首、快进/快退、锁屏状态下列表菜单弹框和拖拽控制台的进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下的效果)、歌词解析并随音乐滚动显示..._lockScreenTableView) { _lockScreenTableView = [[UITableView alloc] initWithFrame:CGRectMake...nonatomic, assign) NSUInteger time ; @property(nonatomic, copy) NSString * lrc ; @end 接下来就是要让歌词随歌曲的进度来滚动显示...self.tableView 显示歌词的 currentTime 当前播放时间点 self.currentRow 当前时间点歌词的位置 //歌词滚动显示...lrc.time < currentTime) { self.currentRow = i; [self.tableView scrollToRowAtIndexPath

    2.7K150

    iOS流水布局UICollectionView简单使用引实现结

    引 开发中我们最常看到的可能是表视图UITableView了,其实还有一个视图也很常见,特别是一些图片、商品、视频的展示界面,用UICollectionView来展现往往会更加方便。...如果熟悉UITableView的话,其实很多地方都是类似的,甚至可以说UITableView是一种特殊的UICollectionView,正如正方形是一种特殊的矩形一样,UITableView就是一种每行只放一个方块的...不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,...还可以设置为水平滚动,只需要改变布局参数的设置就可以了;UICollectionView的cell只能通过注册来确定重用标识符,什么叫注册,我们还是看代码: - (void)viewDidLoad {...代码中注释了一行,就是用来设置滚动方向为水平的,效果如下: 同样的内容,滚动方式变化后,呈现的效果也会变化。

    1.1K00

    一个多UITableview的左右滑动简单解决方案

    前言 本文源自实际开发中的需求,核心的要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview的滑动切换效果; 3、每个UITableview单独的下拉刷新和上拉加载...contentSize self.mContainerScrollView.contentSize = CGSizeMake(self.view.width * 4, 0); // 写0,关闭vertical的滚动...解决办法:contentSize的高度设置为0,关闭vertical的滚动。...contentSize = CGSizeMake(self.view.width * 4, 0); // 写0,关闭vertical的滚动 viewWithTag 具有传递性 代码中存在5个UIScrollView...viewWithTag具有传递性,有些属性UIScrollView容器没有,但是subviews里有,此时对容器调用viewWithTag会获取到子view上面对应tag的视图。

    2.7K71
    领券