2011-12-04 36 views
0

我开始与iOS开发,我想要在表视图中实现以下行为: 列表元素1不能被选中,当选择其他行时,列表成为所选的一个。我知道是无意义的,它只是一个练习。顺便说我的代码是:更改表视图的选择

-(NSIndexPath *) tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
NSUInteger row =[indexPath row]; 
if (row==0){ 
    return nil; 
} 
    return indexPath; 
} 

它为被选中避免行0,现在我需要选择的元素来改变以前的当行!= 0。我该怎么做?

回答

0

UITableView有一个名为selectRowAtIndexPath:animated:scrollPosition:(文档链接为您)的方法,您可以在其中选择不同的行。

有一点需要注意:你必须通过NSIndexPath选择一行(一旦你掌握了它就不会太难设置),并且当你编程地调用selectRowAtIndexPath时可能会再次调用你的willSelectRowAtIndexPath所以你需要找出一种方式来忽略这个电话,同时关注用户用他们的手指进行的操作。