如何突出显示UITableView中的行

时间:2011-08-17 08:23:15

标签: iphone uitableview ios4

UITableView中(单元格加载了一个XIB文件)我正在尝试检测在表格单元格中单击了哪个标签,因此可以将不同的视图控制器推入。所以如果用户单击clientname标签他们将获得clientdetails viewcontroller或clientpostcode调出一个mapsviewcontroller。

我必须将uitapgesture附加到标签的代码工作正常,但不会调用didselecrowatindex并且不突出显示行。我也想强调这一行。

(在cellforrowatindexpath中)

label.userInteractionEnabled = YES;
UITapGestureRecognizer *tapGesture =
    [[[UITapGestureRecognizer alloc] initWithTarget:self 
        action:@selector(labelTap)] autorelease];
[label addGestureRecognizer:tapGesture];

我查了很多苹果的例子,他们把按钮放在行上,但即使他们的例子也没有突出显示该行。

总而言之,我可以确定选择哪个标签并突出显示该行吗?

在此先感谢,请询问任何澄清,这很难解释。

1 个答案:

答案 0 :(得分:1)

检测标签的行并使用此tableView方法突出显示它,

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

行检测:

要从手势中找到该点, 你可以用,

- (CGPoint)locationInView:(UIView *)view

然后检测行

- (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point