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],效果如下: