You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量禁用Box容器内包含的所有radio buttons

实现方法

Box组件本身没有自带批量禁用内部所有元素的属性,不用靠isHidden隐藏控件实现需求,直接遍历Box下的子元素把单选按钮设为禁用就行。

  • 给所有放在Box里的radio buttons绑定同一个选中响应事件,当用户点选任意一个按钮触发选中回调时,执行遍历逻辑即可:
// 遍历Box容器的所有子视图
for subView in box.subviews {
    // 如果你用的是自定义RadioButton控件,把下面的UIButton替换成你实际使用的单选按钮类名
    guard let radioButton = subView as? UIButton else { continue }
    radioButton.isEnabled = false
}
  • 如果不想写遍历逻辑,也可以直接把Box的isUserInteractionEnabled属性设为false,这样整个Box内的所有控件都不会响应点击事件。但要注意这种方式不会触发单选按钮自带的禁用态视觉样式,用户看不到控件已被锁定的提示,交互体验不如逐个设置isEnabled的方案,优先选择遍历的写法。

你之前找到的box.isHidden = true作用是直接把整个容器隐藏,和你需要的保留展示、禁止交互的需求不匹配,不适合这个场景。

内容的提问来源于stack exchange,提问作者techno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:39:22