如果我想让TableView进入Top,我使用了一个带有此代码的按钮:
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
但使用Button执行此操作并不是很酷。
有更好的方法吗?用户应该点击2倍然后进入顶部吗?
最好的方法是什么;)
答案 0 :(得分:0)
尝试查看scrollToRowAtIndexPath:atScrollPosition:animated 这可能比滚动scrollRectToVisible更好。
答案 1 :(得分:0)
感谢回复,我已经解决了行内的问题。如果用户在一行中点击更长时间,他将被推到顶部。
在你的功能
中调用它- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//Action -> long pressing on a Cell
UILongPressGestureRecognizer *longPressGesture =
[[[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(longPress:)] autorelease];
[cell addGestureRecognizer:longPressGesture];
}
将此功能添加到您的班级
//Method
- (void)longPress:(UILongPressGestureRecognizer *)gesture
{
// only when gesture was recognized, not when ended
if (gesture.state == UIGestureRecognizerStateBegan)
{
// get affected cell
UITableViewCell *cell = (UITableViewCell *)[gesture view];
// get indexPath of cell
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
// do something with this action
NSLog(@"Long-pressed cell at row %@", indexPath);
//go to the first Row
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}
}
我希望能帮助任何人。