【问题标题】:Stop UISwitch from changing states阻止 UISwitch 改变状态
【发布时间】:2021-04-06 10:06:00
【问题描述】:

如果语句为真,我希望能够不允许 UISwitch 更改。 要设置单元开关,我有

cell.accessoryView = addAccessory()

addAccessory 是一个方法,它将addTarget(self, action: selectorMethod, for: .touchUpInside),设置测试和可访问性元素,并返回一个 UISwitch。我试过了

if (statement is true) {
addAccessory().isOn = UserDefaults.standard.bool(forKey: "myKey") //the userDefault hasn't changed so I tried keeping it set to this value
}

我还尝试了if 块中的setOn 方法,但没有成功。

isOn 和 setOn 尝试均无效。我现在可以使用它,但它只能通过重置我的附件视图并“重新调用”cell.accessoryView = addAccessory() 来工作。我想知道是否有更好的方法来做到这一点。

【问题讨论】:

  • addAccessory().isOn = 正在创建一个新实例。你的代码没有任何意义
  • 这就是我所说的。通过“重置”,我的意思是它创建了一个新实例,其值与我最初给它的值相同
  • 我应该写得更清楚。我有一个例子,我只是这样写下来试图减少混乱,但这适得其反
  • 你知道如何以编程方式不让选中的单元格发生变化吗?

标签: swift xcode uiswitch


【解决方案1】:

简单回答:toggle.isUserInteractionEnabled = false

【讨论】:

  • 请注意,这与您问我的不同。如果您不想让用户选择单元格,您可以在集合视图 didSelectItemAt 方法中取消选择它
猜你喜欢
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
相关资源
最近更新 更多