0

嗨,在我的应用程序中,我添加了打开单元格内容视图的开关。现在,如果我选择该开关,则必须获得特定的单元格索引值。为此,我在 switch 选择器方法中编写了如下代码。

UISwitch *_switch = (UISwitch *)sender ;
UITableViewCell *cell = (UITableViewCell *)[[_switch superview] superview];

在这里,我有很多部分,每个部分都有很多行。在 ios6 中,如果我选择任何开关,它会正确地给出特定的单元格标记值。但是在 ios7 中,即使我也选择了任何开关,它总是返回第一行的第一部分值。

IOS7 中的日志消息如下所示:

单元格为 0

单元格是 ; 层 = ; 内容偏移:{0, 0}>

请让我知道如何尽快解决此问题。

4

1 回答 1

0

最好使用自定义 UITableViewCell 子类,以及用于切换操作的委托方法。然后它不依赖于在 iOS6/7 上不同的视图层次结构,例如:

@protocol SwitchCellDelegate;
@interface SwitchCell : UITableViewCell

- (IBAction)switched:(id)sender;
@end

@protocol SwitchCellDelegate

- (void)switchCell:(SwitchCell *)cell didSwitch:(BOOL)switchState;

@end
于 2013-11-07T05:37:27.850 回答