0

我发现许多问题几乎都在问我想要什么,但到目前为止还无法实现我自己的解决方案。

我的 UITableViewController 中有 2 个部分,到目前为止一切正常。我有一个 AlarmEnabled UISwitch 和一个 AlarmDate 单元格,它会拉出一个 UIActionSheet 以便人们可以选择触发日期等。当有人否定 AlarmEnabled UISwitch 时,我试图禁用/灰显 AlarmDate 单元格(单元格 0) “即时的”。这确实有效,但前提是我 a) 否定 UISwitch b) 通过 Cancel/Save UIButton 退出视图 c) 重新进入视图。

到目前为止,我已经尝试了 tableView:reloadRowsAtIndexPath: 方法,如下所示:

NSIndexPath *tempIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];
NSArray *tempIndexPathArray = [[NSArray alloc] initWithObjects:tempIndexPath, nil];
[self.tableView reloadRowsAtIndexPaths:tempIndexPathArray withRowAnimation:UITableViewRowAnimationNone];
[tempIndexPathArray release];

也许是由于我与 iOS 编程的开关关系,我只是误解了代码应该放在哪里(当前放置在 AlarmEnabled UISwitch 附件的选择器中),但它并没有做我所追求的(但听起来像如果使用正确应该)。

我想我会尝试增加我的认知并在 UISwitch 的选择器中尝试类似以下的操作,

#define NOT(a)  !a
....
UITableViewCell *tempCellAlarmDate = [self.tableViewController.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
tempCellAlarmDate.userInteractionEnabled = NOT(tempCellAlarmDate.userInteractionEnabled);
// forget transparency for now.
//tempCellAlarmDate.alpha = 0.0;

.. 但是为我头骨中的发电机提供动力的快速小跑的啮齿动物不赞成这个代码,因此我实现实时 userInteractionEnabled 切换的梦想没有实现。

任何建议表示赞赏:-)

谢谢

sc。

4

1 回答 1

0

我错过了你在单元格上调用 setEnabled: 方法的地方。或者您是否使用其他方法禁用它?根据我的经验, setEnabled: NO 会实时禁用单元格,而 setEnabled: YES 会将其恢复。也许我错过了什么?

于 2012-04-05T15:09:01.693 回答