【发布时间】:2021-07-30 00:28:35
【问题描述】:
我创建了一个很好用的 UIButton 集,但仅在连接到 Xcode 时(在运行的模拟器和连接的 iPhone 中)。
如果我正在运行模拟器,则选择的按钮将是唯一选择的按钮
如果我“停止”模拟器,任何被选中的按钮都将保持选中的 UI 状态,即使代码专门将其标记为取消选中。
我不确定是什么导致了这种变化,以及为什么在连接模拟器时它会起作用(我可以看到日志,很不方便)。
这是我用来更新按钮状态的代码(我已使用情节提要中的“按钮背景图像”连接图像
if format == "A" {
button1.isSelected = true
button2.isSelected = false
button3.isSelected = false
} else if format == "B" {
button1.isSelected = false
button2.isSelected = true
button3.isSelected = false
} else {
button1.isSelected = false
button2.isSelected = false
button3.isSelected = true
}
*我不确定是否也应该提及它,但我在尝试修复它时注意到了一些细微差别:
- 我使用的图片是 PNG,具有透明背景
- 使用这些透明图像,当取消选择 UIButton 时,整个按钮变为白色(同样,仅在与 Xcode 断开连接时...当我连接到 Xcode 时,它可以正常工作)
- 如果我更改图像并添加背景,那么当取消选择按钮时,它仍然使用“已选择”图像
这是一个关于正在发生的事情的快速视频:https://www.dropbox.com/s/8pcl8lpkbgcr9l5/Example%20Issue.mov?dl=0(前半部分是模拟器连接到 Xcode,后半部分是在我停止运行 xcode 之后)
【问题讨论】:
-
你能制作一个演示视频并在这里发布吗?
-
@Kudos 应要求:dropbox.com/s/8pcl8lpkbgcr9l5/Example%20Issue.mov?dl=0(前半部分是模拟器连接到 Xcode,后半部分是在我停止运行 xcode 之后)
-
您是否更改了选中/默认状态下按钮的背景颜色?
-
@Kudos 不,唯一应该改变的是 UIButton 的背景图像
-
你做错了。 Button State 不适用于 bgimage,但适用于 Button image。