Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UISwitch决定另一个UITableViewCell是否可编辑_Ios_Swift_Uitableview_Uitextfield_Uiswitch - Fatal编程技术网

Ios UISwitch决定另一个UITableViewCell是否可编辑

Ios UISwitch决定另一个UITableViewCell是否可编辑,ios,swift,uitableview,uitextfield,uiswitch,Ios,Swift,Uitableview,Uitextfield,Uiswitch,我在一个分区中有三个自定义表视图单元格。第一个单元格有一个UISwtich。我想要的是,当UISwitch打开时,其他两个表视图单元格的UITextField可编辑,否则不可编辑。 有可能吗?您可以通过在交换机中添加一个侦听器,检查其状态,并从此处设置两个文本字段的可编辑性来完成此操作: // This goes into your viewDidLoad sw.addTarget(self, action: Selector("stateChanged:"), forControlEvents

我在一个分区中有三个自定义表视图单元格。第一个单元格有一个
UISwtich
。我想要的是,当
UISwitch
打开时,其他两个表视图单元格的
UITextField
可编辑,否则不可编辑。
有可能吗?

您可以通过在交换机中添加一个侦听器,检查其状态,并从此处设置两个文本字段的可编辑性来完成此操作:

// This goes into your viewDidLoad
sw.addTarget(self, action: Selector("stateChanged:"), forControlEvents: UIControlEvents.ValueChanged)

// This function does the work
func stateChanged(switchState: UISwitch) {
    if switchState.on {
        textField1.editable = true
        textField2.editable = true
    } else {
        textField1.editable = false
        textField2.editable = false
    }
}

我假设
textField1
textField2
是两个表单元格中引用
UITextField
的出口。

嘿,您可以执行以下操作:
1.将选择器添加到开关
2。选择器中的将变量设置为0(如果开关打开)和1(如果开关关闭)。
3。然后调用tableview的重新加载数据方法
4。然后在“行单元格”方法中,使用我们设置的变量检查开关是否打开,如果开关打开,则将“单元格文本字段可编辑”设置为true或false

它是一个自定义表视图单元,因此没有viewDidLoadMethod@Dereck然后,您可以将其放入表的视图控制器的
viewdiload
中。如果我在tableviewcontroller中设置目标,它将编译,但状态更改不会得到调用。但是,当我使用awakeFromNib()在自定义表单元格类中设置目标时,它确实会被调用但是编辑没有改变。我用设置目标的开关在customtableclass中创建了custometablecell类1和2的出口。@Dereck这很奇怪,当您从tableviewcontroller的
viewDidLoad
设置侦听器时。你的
viewDidLoad
确实被调用了,对吗?在这种情况下,
stateChanged
函数应该属于视图控制器,而不是单元格。