Answers:
在Swift 3、4、5中:
button.setTitle("Button Title", for: .normal)
除此以外:
button.setTitle("Button Title", forState: UIControlState.Normal)
还@IBOutlet
必须为声明button
。
.normal
请注意Swift3 的小写字母
forState
为for
button.setTitle("Button Title",for: .normal)
有效!,谢谢
这只是对Swift和iOS编程新手的说明。下面的代码行:
button.setTitle("myTitle", forState: UIControlState.Normal)
仅适用于IBOutlets
,不适用于IBActions
。
所以,如果您的应用使用一个按钮的功能,以执行一些代码,说播放音乐,并希望标题从改变Play
到Pause
基于一个切换变量,您还需要创建一个IBOutlet
该按钮。
如果您尝试对进行使用button.setTitle
,IBAction
则会收到错误消息。一旦您知道它就很明显,但是对于新手(我们都是),这是一个有用的提示。
sender
行动的将是按钮。您可以将所需的任何内容应用于sender
。您不需要插座即可执行此操作。
let controlStates: Array<UIControl.State> = [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved]
for controlState in controlStates {
button.setTitle(NSLocalizedString("Title", comment: ""), for: controlState)
}
斯威夫特3:
设置按钮标题:
//for normal state:
my_btn.setTitle("Button Title", for: .normal)
// For highlighted state:
my_btn.setTitle("Button Title2", for: .highlighted)
斯威夫特5.0
// Standard State
myButton.setTitle("Title", for: .normal)
归属时更改标题有些不同:
我只是遇到一个问题:如果您的UIButton带有属性标题,则必须使用:
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)
如果同时为按钮设置了标题和属性标题,则与该按钮相比,按钮更喜欢使用属性标题。
我有一个归属的标题,我试图在其上设置标题,但没有任何效果...
迅捷3
当您进行@IBAction时:
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
这将发送方设置为UIButton(而不是Any),因此将btnAction定位为UIButton
要使用swift -04在Xcode中为按钮设置标题,请执行以下操作:首先创建一个名为setTitle的方法,其参数为title和UIController状态,如下所示;
func setTitle(_ title : String?, for state : UIControl.State) {
}
并在您的按钮动作方法中调用此方法;例如
yourButtonName.setTitle("String", for: .state)
UIControlState
。例如forState: .Normal