如何将UITableView滚动到特定位置
如何将表格的单元格滚动到特定位置?我有一个表,显示 3 行(根据高度)。我想要的是,如果我单击第一行,则根据表格的高度,第一行应该滚动并获得新位置(中心),其他行也相同。我尝试了 contenOffset 但没有工作。
编辑:
简而言之,当我们在选择器中选择任何行时,像数据选择器这样的东西会滚动到中心。
谢谢..
How can I scroll the table's cell to specific position ? I have a table which shows 3 rows (according to height). what I want is if I click on 1st row than according to table's height the 1st row should scroll and get new position (center) and same for other rows. I tried contenOffset but did not work..
EDITED :
In short some thing like data picker when we select any row in picker the row scrolls to the center.
Thanks..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
它应该使用
- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPositionAnimated:(BOOL)animated
使用这种方式:atScrollPosition
可以采取任何这些值:it should work using
- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
using it this way:atScrollPosition
could take any of these values:Swift 4.2 版本:
Enum: 这些是可用的 tableView 滚动位置 - 此处供参考。您不需要将此部分包含在代码中。
DidSelectRow:
Swift 4.2 version:
Enum: These are the available tableView scroll positions - here for reference. You don't need to include this section in your code.
DidSelectRow:
这会将您的表格视图带到第一行。
This will take your tableview to the first row.
最后我发现...当表格仅显示 3 行时它会很好地工作...如果行更多,则应该相应地进行更改...
finally I found... it will work nice when table displays only 3 rows... if rows are more change should be accordingly...
使用[tableViewscrollToRowAtIndexPath:indexPath atScrollPosition:scrollPositionanimated:YES];
滚动接收器,直到由索引路径标识的行位于屏幕上的特定位置。
并
滚动表视图,以便最接近表视图中指定位置的选定行位于该位置。
Use
[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:scrollPosition animated:YES];
Scrolls the receiver until a row identified by index path is at a particular location on the screen.
And
Scrolls the table view so that the selected row nearest to a specified position in the table view is at that position.
值得注意的是,如果您使用
setContentOffset
方法,可能会导致您的表视图/集合视图发生一点跳跃。老实说,我会尝试以另一种方式解决这个问题。建议使用免费提供的滚动视图委托方法。It is worth noting that if you use the
setContentOffset
approach, it may cause your table view/collection view to jump a little. I would honestly try to go about this another way. A recommendation is to use the scroll view delegate methods you are given for free.只需一行代码:
Simply single line of code:
如果您的表格视图只有一行和一个部分,您也可以使用以下方法
在这种情况下,您可以直接滚动到正确的文本字段、文本视图、标签等。
In case, your table view only has one row and one section, you also can use following approach
In this case, you can directly scroll to the correct text field, text view, label etc.