3

我是编程新手,并且在这方面苦苦挣扎。如何在 UITableView 的选定行中添加自定义视图?

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

4

4 回答 4

7

您可以在 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];
}
于 2013-05-14T11:24:30.853 回答
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;


}
于 2013-05-14T15:11:19.157 回答
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];

}
于 2013-05-14T11:28:59.253 回答
-1

看到这个在uitableview的选定行中添加自定义视图

选择行时如何在 UITTableViewCell 上添加内容视图?

于 2013-05-14T11:27:19.857 回答