iOS UITableView update cell 更新TableViewo單一cell內容

tableView 真的是iOS中相當關鍵的一個UI,一方面是列表方式在呈現資料可以說是最好的方式,讓使用者快速得到想要的資訊,在其中也因用途不同需要客製化的部份相當多,就如下面要介紹的更新單一cell。

以下myTableView為UITableView的名稱
//更新指定cell
NSIndexPath *path = [NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section];
NSArray *myArray = [NSArray arrayWithObjects:path, nil];
[myTableView reloadRowsAtIndexPaths:myArray withRowAnimation:UITableViewRowAnimationFade];


如果需要更新所按下的cell可以搭配UITableViewDelegate使用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSIndexPath *a = [NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section];
NSArray *my = [NSArray arrayWithObjects:a, nil];
[myTableView reloadRowsAtIndexPaths:my withRowAnimation:UITableViewRowAnimationFade];
}


其中UITableViewRowAnimation有相當多的動畫方式可以使用,當然也可以不要動畫,只要在"withRowAnimation:"輸入"UITableViewRowAnimationNone"即可達到直接修改cell並且無動畫。

NSArray的部份也可以一次加入多個需要更新的cell,如果是需要一次更新所有的cell可以使用以下方式
[myTableView reloadData]

相關連結
iOS Developer Library
iOS Developer Library - UITableView Class Reference

沒有留言:

張貼留言