Cha*_*era 4 title uibutton ios swift3
我试着像下面那样迅速得到title一个button.
@IBAction func buttonAction(_ sender: Any) {
let buttonTitle = sender.titleForState(.Normal)!
}
Run Code Online (Sandbox Code Playgroud)
但它没有用,即使hint我们按.发件人后按下它也不会给任何东西.
那么在swift 3.0中这样做的正确方法是什么呢?
或者如果我们创建一个IBOutlet然后我们使用它currentTitle,它就像下面一样工作正常.为什么我们不能sender.在上面得到它
@IBOutlet var thebutton: UIButton!
@IBAction func buttonAction(_ sender: Any) {
let buttonTitle = thebutton.currentTitle!
print(buttonTitle)
}
Run Code Online (Sandbox Code Playgroud)
ozg*_*gur 20
因为参数发送者是类型Any而不是UIButton.将方法签名更改为:
@IBAction func buttonAction(_ sender: UIButton) {
if let buttonTitle = sender.title(for: .normal) {
print(buttonTitle)
}
}
Run Code Online (Sandbox Code Playgroud)
你应该好好去.
小智 11
使用 Swift 5.0 的最智能版本:
@IBAction func buttonAction(_ sender: UIButton) {
print(sender.currentTitle)
}
Run Code Online (Sandbox Code Playgroud)
小智 6
要获取按钮的标题,无论其在 swift 3.0 中的当前状态如何,请尝试使用以下命令:
@IBAction func buttonPressed(_ sender:UIButton){
let buttonTitle = sender.titleLabel?.text
print("\(String(describing: buttonTitle)")
}
Run Code Online (Sandbox Code Playgroud)
这将根据按钮当前所处的状态返回状态的标题。
| 归档时间: |
|
| 查看次数: |
14801 次 |
| 最近记录: |