如何在UITableView中的选定行中添加自定义视图?

时间:2013-05-14 11:18:32

标签: ios xcode uitableview

我是编程的新手,并在此努力奋斗。 如何在UITableView的选定行中添加自定义视图?

不应影响所有其他行。新视图应出现在单击行的位置。视图可以有更大的尺寸。 感谢。

4 个答案:

答案 0 :(得分:8)

您可以在rowDidSelect Delegate方法

中添加新视图
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 100.0f, 30.0f)];
[myView setTag:-1];

[cell addSubview:myView];

}

也将DidDeselectRowatindexpath实现为给定的

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

UIView *myView = [cell viewWithTag:-1];

[myView removeFromSuperview];
}

答案 1 :(得分:0)

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {

        NSLog(@"%ld",(long)indexPath.row);  //  

        str=[appdelegate.name objectAtIndex:indexPath.row];

    DetailViewController *dvc = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];     //DetailViewController is your view

        [self.navigationController pushViewController:dvc animated:YES];

}

答案 2 :(得分:0)

我没有试过这个,但它可能有用,请告诉我它是否有效。

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {

       UITableViewCell *cell = [tableview cellForRowAtIndexPath: indexpath];

       [cell.contentView addSubView: yourviewObject];

       cell.bounds.size.height = yourViewObject.bounds.size.height + 10.0;


}

答案 3 :(得分:-1)

在uitableview的选定行中添加自定义视图

How to add a content view on UITAbleViewCell when a row is selected?