我發現了很多問題,幾乎問我在做什麼後,但一直未能實現我自己的解決方案。UITableViewCell禁用單元,然後重新啓用和更新,無需重新加載視圖
我在我的UITableViewController中有2個部分,並且到目前爲止一切工作都很好。我有一個AlarmEnabled UISwitch和一個AlarmDate單元,它提取UIActionSheet,以便可以選擇火災日期等。我試圖禁用/灰色AlarmDate單元格(單元格0),否定AlarmEnabled UISwitch在「即時的」。這確實工作,但只有我a)否定UISwitch b)通過取消/保存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。
'#define NOT(a)!a' - 你在開玩笑嗎? – Sulthan 2012-04-05 17:54:21
@Sulthan - 請解釋你的意思,而不是發表修辭。 – swisscheese 2012-04-05 20:42:51
您正在使用宏將編程語言轉換爲您自己的編程語言。這不是一個好主意。 – Sulthan 2012-04-05 21:51:50