Swift 让用户在选择器上选择查看按钮的标题
Swift make user selection on picker view the title for a button
所以,我不确定我是否一直盯着我的代码看太久以至于变得愚蠢,或者这对于我目前的技能来说是否有点太高级了。我试图在用户使用 DPPickerManager 按下按钮时弹出一个 pickerview,当用户选择一种颜色时,按钮的标题应该更改为用户选择的颜色。按照指示,我能够 link 按钮和 pickerview,但我无法更改按钮标题。这是我的代码:
@IBAction func colorPicker(_ sender: UIButton) {
let condition = ["Blue", "Black", "Green", "Orange", "Purple"]
DPPickerManager.shared.showPicker(title: "Strings Picker", selected: "Value 1", strings: condition) { (value, ind, cancel) in
if !cancel {
//sender.titleLabel.text = value![index].text
print(value as Any)
}
}
}
我不断收到此错误:无法将类型“(Any) -> Int”的值转换为预期的参数类型“(UnboundedRange_) -> ()”,我认为这是因为值的索引,但我不确定.有人可以帮我吗?
我已经使用了您的代码,它对我来说工作正常。
@IBAction func btnActionTapped(_ sender: UIButton) {
let condition = ["Blue", "Black", "Green", "Orange", "Purple"]
DPPickerManager.shared.showPicker(title: "String Picker", selected: "Value 1", strings: condition) { (value, index, cancel) in
if !cancel {
if let value = value {
sender.setTitle(value, for: .normal)
print(value)
}
}
}
}
我只是更改了以下代码以获取值而不是可选值。
if let value = value {
print(value)
}
我在那里获取字符串值并在控制台中正常打印。
所以,我不确定我是否一直盯着我的代码看太久以至于变得愚蠢,或者这对于我目前的技能来说是否有点太高级了。我试图在用户使用 DPPickerManager 按下按钮时弹出一个 pickerview,当用户选择一种颜色时,按钮的标题应该更改为用户选择的颜色。按照指示,我能够 link 按钮和 pickerview,但我无法更改按钮标题。这是我的代码:
@IBAction func colorPicker(_ sender: UIButton) {
let condition = ["Blue", "Black", "Green", "Orange", "Purple"]
DPPickerManager.shared.showPicker(title: "Strings Picker", selected: "Value 1", strings: condition) { (value, ind, cancel) in
if !cancel {
//sender.titleLabel.text = value![index].text
print(value as Any)
}
}
}
我不断收到此错误:无法将类型“(Any) -> Int”的值转换为预期的参数类型“(UnboundedRange_) -> ()”,我认为这是因为值的索引,但我不确定.有人可以帮我吗?
我已经使用了您的代码,它对我来说工作正常。
@IBAction func btnActionTapped(_ sender: UIButton) {
let condition = ["Blue", "Black", "Green", "Orange", "Purple"]
DPPickerManager.shared.showPicker(title: "String Picker", selected: "Value 1", strings: condition) { (value, index, cancel) in
if !cancel {
if let value = value {
sender.setTitle(value, for: .normal)
print(value)
}
}
}
}
我只是更改了以下代码以获取值而不是可选值。
if let value = value {
print(value)
}
我在那里获取字符串值并在控制台中正常打印。