【问题标题】:How to disable uiswitch in custom cell of uitableview如何在uitableview的自定义单元格中禁用uiswitch
【发布时间】:2013-01-04 18:36:00
【问题描述】:

您好,我正在开发 UITableView 和 UISwitch。我有包含 UISwitches 的自定义单元格。一开始 UISwitch 是关闭的,我打开它。当我在另一个单元格中打开 UISwitch 时,一开始打开的 UISwitch 应该关闭。我在 cellForRowAtIndexPath 中实现这个。

我正在检查是否针对特定症状选择了remediateID。如果选择打开,则应关闭休息。我什至在重新引导数据。

cell.remedyID=[[[remedyArray objectAtIndex:indexPath.row] 
                              objectForKey:@"RemedyID"]intValue];

cell.symptomIDNo =[[[remedyArray objectAtIndex:indexPath.row]
                                  objectForKey:@"SymptomID"]intValue];

int checkValue = [[activeNotificationDictionary objectForKey:
                   [[remedyArray objectAtIndex:indexPath.row] 
                          objectForKey:@"SymptomID"]]intValue];

if (cell.remedyID == checkValue){

    objdb.notifyMe.on = YES;
} else {

    objdb.notifyMe.on = NO;
}


- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{

    if (buttonIndex != [alertView cancelButtonIndex]){

        [activeNotificationDictionary setObject:
          [NSNumber numberWithInt:selectedRemedyID] forKey:
                             [NSNumber numberWithInt:iPath]];

        [remedyTableView reloadData];
     }    
}

所以如果有人可以帮助我..那就太好了

【问题讨论】:

  • 您发布的代码有什么结果?
  • 当我打开第二个 uiswitch 时..当我点击 OK 时我得到一个 alertview ..第一个 uiswitch 没有关闭。两个开关保持打开。如果你愿意,我可以给你邮寄 .m 文件。你会得到更好的主意
  • 那会很有帮助。您可以将其发送至 rdelmar@comcast.net

标签: iphone ios objective-c uitableview uiswitch


【解决方案1】:

我会在你的数据数组中使用一个布尔值,它为 uiTable 提供内容来检查,天气开关是打开还是关闭。

当您触发一个开关时,您会将索引保存在作为 tableview 委托的类的全局变量中。然后在警报视图中,您可以使用保存的索引来操作数据数组中开关状态的布尔值。 之后,您重新加载表格。

当然,您必须以这种方式更改您的cellForRowAtIndexPath,开关的状态取自布尔值,而不是默认为关闭。

【讨论】:

    【解决方案2】:

    我认为您的remediateArray 包含remediate 对象。这些对象应该有一个布尔属性并使用该属性来打开和关闭它。当你打开一个去迭代并关闭其他的。如果您无法将 BOOL 属性添加到补救类,请考虑创建一个继承类或类扩展。 现在这是一种方式。如果您太担心内存,请使用实例变量来存储已打开的行的索引路径。并使用该变量显示单元格相应地意味着打开或关闭。选择新开关时,只需调用重新加载数据,表格应该可以正确绘制。

    【讨论】:

    • Siby 我在选择新开关时调用了重新加载数据 .. 我在 - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 中调用了它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多