2

我正在填充UITableViewController数据,一些创建的单元格需要被禁用,而其他一些则留有详细附件按钮。我需要做的是禁用带有细节附件(他们的选择)的那些,但保持这个细节按钮处于活动状态以获取一些信息。

4

2 回答 2

1

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

我为附件创建了具有披露指示器类型的单元格

cell.accessoryType = UITableViewCellAccessoryNone;
cell.selectionStyle = UITableViewCellSelectionStyleNone;

在 UITableViewControllerDelegate 方法中

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

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

您可以选择不更改单元格的 selectionStyle,但我建议您这样做,以便应用程序看起来更好,并且单元格不会显示任何提示可以选择单元格的内容,这样在可用性方面会更容易为用户。


或者,您可以检查方法

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

您可以选择单元格并检查单元格的附件类型并放置您的逻辑。

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

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

看看哪个适合你。希望这可以帮助!

于 2013-10-18T08:49:02.093 回答
0

您是否要从某些行中隐藏详细附件按钮或禁用没有详细附件按钮的功能。要禁用该功能,您可以在didSelectRowAtIndexPath中有代码。检查是否有详细的附件按钮,如果有则不要做任何事情。

于 2013-10-07T21:29:00.530 回答