iphone - 如何使用 selectRowAtIndexPath 强制选择 UITableViewCell?

标签 iphone objective-c ios uitableview

我正在尝试使用 selectRowAtIndexPath 强制选择(突出显示)UITableViewCell..

例如, 可以说我希望始终突出显示 TableView 中的第一个单元格,我在 viewDidAppear 中应用以下逻辑

[self.tableViewPrompts selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:0];

工作得很好。但是当我尝试在应用程序的其他地方应用相同的逻辑时,单元格未被选中。我什至尝试在调用上述方法之前取消选择其他单元格,并在调用此方法之前和之后重新加载 tableview,但没有一种方法似乎有效!

我什至使用 tableview 的委托(delegate)强制调用 didSelectRowAtIndexPath.Event 这不起作用。

PS:选择单元格不会触发任何操作,我想要实现的只是突出显示所需的单元格。

我做错了什么?

非常感谢您的帮助!!

最佳答案

The selection of the cell does not trigger any action all i am trying to achieve is highlighting the desired cell.

为什么不使用单元格的突出显示属性?

UITableViewCell *cell = [self cellForRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: 0]];
cell.highlighted = YES;

现在无法测试,但它应该可以工作......

编辑

当然更好:改变你的 cellForRowAtIndexPath 来做到这一点

-(UITableViewCell) tableView:cellForRowAtIndexPath:
//...
if (indexPath.row == 0 && indexPath.section == 0) cell.highlighted = YES
else cell.highlighted = NO;
//...
return cell;

关于iphone - 如何使用 selectRowAtIndexPath 强制选择 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074457/

相关文章:

iphone - 如何缩小从远程服务器加载的非视网膜 iPhone 的视网膜图像?

iphone - Facebook SDK iOS - 授权应用内?

ios - 如何在当前项目中完全删除 UIWebView 组件?

ios - 使用 UITableViewCell 进行委托(delegate)

ios - 如何延迟一个协议(protocol)的委托(delegate)方法的执行,直到另一个协议(protocol)的委托(delegate)方法完成执行?

iphone - UIWebView frame resize 不调整内部内容

iphone - iPhone模拟器在哪里存储已安装的应用程序?

Objective-C 获取目录中的文件和子文件夹列表

ios - Swift:应用程序因 fatal error 而崩溃:在展开可选值时意外发现 nil?

iphone - 如何在 iOS 中将 "2012-12-26"之类的日期转换为 "december 26, 2012"?