单元格在tableview中选择时的显示视图

时间:2011-04-15 11:27:59

标签: iphone

我是iphone的新手,我的问题是在一个视图中我放置了一个tableview并在该视图上显示一些数据,我想在选择单元格时添加另一个视图(相同视图到所有单元格)(假设选择第一个单元格视图将显示和新添加视图用于根据单元格索引删除该单元格信息)请告诉我如何显示视图。

2 个答案:

答案 0 :(得分:0)

在TableView类的didSelectRowAtIndexPath方法中;这是您处理所选行的地方。下面是一些将webViewController推送到屏幕上的代码:

webViewController = [[WebViewController alloc] init];
WebViewController *wvc = [[WebViewController alloc] init];
NSMutableArray *temp = [eventsDict objectForKey:[datesArray objectAtIndex:[indexPath section]]];
EventObject *tempEvent = [temp objectAtIndex:[indexPath row]];
NSString *eventURL = [tempEvent eventLink];        
[wvc setEventWebsite:eventURL];
[self setWebViewController:wvc];
[[self navigationController] pushViewController:webViewController animated:YES];
[wvc release];
[webViewController release];

基本上我有一个事件数组,它使用[indexPath row]获取您触摸的事件,获取该Event对象中的URL,将其传递给webViewController,然后将webViewController推送到加载相应链接的屏幕上。希望这有帮助

答案 1 :(得分:0)

如果要为所有单元格显示相同的视图 - 只需创建一个UIView对象并在didSelectRowAtIndexPath委托方法中更改框架。它会是这样的 - 首先在您的.h文件UIView * infoView中声明infoView,接下来的步骤:

- (void)viewDidLoad {
infoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
infoView.hidden = YES;
[tableView addSubview:infoView];
[super viewDidLoad];    }  

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
CGPoint st = CGPointMake(tableView.frame.size.width/2, cell.frame.size.height*indexPath.row);
infoView.hidden = NO;
infoView.center = st;}

不要忘记在dealloc方法中发布infoView