我有个特别的密码
let genderOptions = ["Male".localized, "Female".localized]
.map { UIAction(title: $0, state: .off, handler: {_ in }) }
genderButton.changesSelectionAsPrimaryAction = true
genderButton.menu = UIMenu(children: genderOptions)
我已经把UIAction
的state
全部设置为.off
,但是它仍然默认选择第一项,下面是苹果的文档。
但是当我打印selectedElements
时,它会打印以下内容:
print(genderButton.menu?.selectedElements)
即使所有UIAction
项state = .off
,它也会打印一个数组,其中第一项为选定项。
**Q:如何在没有任何选择的情况下拥有初始状态?弹出按钮是一个很好的选择吗?或者我应该在UIPickerView中使用UITextField?**如果有人能给予一个完整的解决方案,那就太好了。
1条答案
按热度按时间0pizxfdo1#
假设您已经设置了
changesSelectionAsPrimaryAction = true
,您可以添加一个隐藏的(带有.hidden
属性)操作作为第一个操作:按钮选择第一个动作,并使用它的标题作为按钮的标题。然后用户可以选择其他两个动作中的一个。但是他们不能选择隐藏的动作。
.disabled
属性还阻止用户选择操作,但选项仍然可见。另请参阅:
UIMenuElement.Attributes