使用搜索栏在UITableView中进行顶部

时间:2011-10-10 14:48:30

标签: ios

如果我想让TableView进入Top,我使用了一个带有此代码的按钮:

[self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];

但使用Button执行此操作并不是很酷。

有更好的方法吗?用户应该点击2倍然后进入顶部吗?

最好的方法是什么;)

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];
    }
}

我希望能帮助任何人。