IOS TableView的Delegate Methods-tableView didSelectRowAtIndexPath

1.如果是定义的UIViewController继承UITableViewDataSource和UITableViewDelegate,千万别忘了设置当前的控制器为代理

    self.tableView.delegate = self;

    self.tableView.dataSource = self;

设置完上面的,程序才会调用tableView的delegate/dataSource方法。

 

 

2.如果在创建controller时就选择了UITableViewController,必须设置

numberOfSectionsInTableView,默认为0,设置为1

设置完上面的,程序才会调用tableView的delegate/dataSource方法。

 

 

 

3.选中tableView的indexPath.row这一行

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

if (self.isFromChatView

self.chatViewController.phraseString = [self.phraseArray objectAtIndex:indexPath.row];

//else 

//self.newSMSViewController.messageString = [self.phraseArray objectAtIndex:indexPath.row];

 //去掉选中的背景,恢复原来的样子

[tableView deselectRowAtIndexPath:indexPath animated:YES];

[self dismissModalViewControllerAnimated:YES];

}

 

前提是选中一行,做如下操作:

去掉[tableView deselectRowAtIndexPath:indexPath animated:YES],效果如下:

 

加上 [tableView deselectRowAtIndexPath:indexPath animated:YES],效果如下:

原文地址:https://www.cnblogs.com/yuyu-2012/p/4809689.html