禁用单元格但保留详细配件激活

时间:2013-10-07 21:02:24

标签: ios7 uitableview accessorytype

我正在使用数据填充UITableViewController,并且需要禁用一些已创建的单元格,而其他一些单元格则留有详细的附件按钮。我需要做的是禁用那些带有详细配件(他们的选择),但保持此详细信息按钮有效以获取一些信息。

2 个答案:

答案 0 :(得分:1)

扩展mobiletest给出的答案,我做了类似的事情。

我使用附件

的披露指示器类型创建了单元格
cell.accessoryType = UITableViewCellAccessoryNone;
cell.selectionStyle = UITableViewCellSelectionStyleNone;

在UITableViewControllerDelegate方法

- (UITableViewCell*) tableView: (UITableView*) tableView cellForRowAtIndexPath: (NSIndexPath*) indexPath

我在每个单元格上创建了​​一个自定义按钮。为了准确识别选择哪个单元格的按钮,SO上的answer帮助了我。

您可以选择不更改单元格的selectionStyle,但我建议您这样做,以便应用程序看起来更好,并且单元格不会显示任何暗示可以选择单元格的内容,这将使其更容易用户的可用性条款。


或者,您可以检查方法

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

您可以选择单元格并检查单元格的accessoryType并放置逻辑。

UITableViewCell *cell = (UITableViewCell *)[(UITableView *)self.view cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryDisclosureIndicator) 
{ 
//Your logic here 
}

但这意味着您的整个单元格都可以选择(如果选择的话,公开按钮将不起作用),在这种情况下,这意味着您无法自定义您的公开按钮。此外,由于您的整个单元格是可选择的,只要用户点击单元格,您的逻辑也将运行,从问题的角度来看,这听起来不像您想要的功能,但我可能错了。 :)

查看哪些适合您。希望这有帮助!

答案 1 :(得分:0)

是否要隐藏某些行中的详细配件按钮,或禁用没有详细配件按钮的功能。 要禁用此功能,您可以在 didSelectRowAtIndexPath 中包含代码。检查是否有详细的配件按钮,如果有,那么什么也不做。