我不能设置的标题 UIButton 使用 IB 为中心。我的头衔是多行。它就是这样给予的
但是我想要这样一个 < br > < img src = “ https://i.stack.imgur.com/iSmeP.png”alt = “ enter image description here”>
我已经给了空间,但我不想这样做。因为它在某些情况下不能精确对齐,我知道 UILabel 有一个属性来设置对齐,但我不想为此编写代码。.只是想从 IB 设置一切。
谢谢
用这句话:
myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
这应该使内容(水平)居中。
如果你也想把标签里的文字设置为中心,可以使用:
[labelOne setTextAlignment:UITextAlignmentCenter];
如果您想使用 IB,我在这里有一个小示例,它在 XCode 4中链接,但是应该提供足够的细节(另外要注意的是,在属性屏幕的顶部显示了属性选项卡。您可以在 XCode 3.x 中找到相同的选项卡) :
您可以在故事板中设置关键路径
将文本设置为多行标题,例如 hello ⌥ + ↵ multiline
hello
multiline
您需要按 ⌥ + ↵将文本移动到下一行。
然后添加键路径
titleLabel.textAlignment为 Number,值为 1,1表示 NSTextAlignmentCenter titleLabel.numberOfLines为 Number,值为 0,0表示任意数量的行
titleLabel.textAlignment
Number
1
NSTextAlignmentCenter
titleLabel.numberOfLines
0
这将不会反映在 IB/Xcode 上,而是在运行时(设备/模拟器)处于中心位置
如果您想看到 Xcode 上的更改,您需要执行以下操作: (记住您可以跳过这些步骤)
子类化 UIButton 以使按钮可设计:
import UIKit @IBDesignable class UIDesignableButton: UIButton {}
Assign this designable subclass to the buttons you're modifying:
If you want to write the code, then do the long process
1.Create IBOutlet for button 2.Write code in viewDidLoad
IBOutlet
btn.titleLabel.textAlignment = .Center btn.titleLabel.numberOfLines = 0
在新版本的 xcode (我的是 xcode 6.1)中,我们有属性属性的 title 选择 Attributed,然后选择下面的文本和按中心选项
Attributed
文本不是多行的,因为我必须设置
btn.titleLabel.numberOfLines = 0
这正是你所期待的:
目标 C:
[myButton.titleLabel setTextAlignment:UITextAlignmentCenter];
对于 iOS6或更高版本
[myButton.titleLabel setTextAlignment: NSTextAlignmentCenter];
正如 Tyler 53的回答中所解释的
斯威夫特:
myButton.titleLabel?.textAlignment = NSTextAlignment.Center
Swift 4.x 及以上版本
myButton.titleLabel?.textAlignment = .center
对于 UIButton,您应该使用:-
[btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
对于那些正在使用 iOS6或更高版本的用户,UITextAlignmentCenter 已被弃用。现在是 NSTextAlignmentCenter
mylabel.textAlignment = NSTextAlignmentCenter;运行良好。
mylabel.textAlignment = NSTextAlignmentCenter;
在 iOS6中不推荐使用 UITextAlignmentCenter
UITextAlignmentCenter
相反,您可以使用以下代码:
btn.titleLabel.textAlignment=NSTextAlinmentCenter;
假设 btn 指的是一个 UIButton,要将多行标题水平居中,可以在 iOS6或更高版本中使用以下语句:
self.btn.titleLabel.textAlignment = NSTextAlignmentCenter;
Ios 8和 Swift
TextAlign = NSTextAlign. Center
或者
TextAlign = . Center
事实上,你在 Interface Builder做它。
您应该将 书名设置为 "Attributed",然后选择中心对齐。
"Attributed"
UIButton 不支持 setTextAlign。所以您需要使用 setContentHorizontalAlign 来对齐按钮文本
供你参考
[buttonName setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
试试这样:
yourButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; yourButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
为了 Swift 3.0
btn.titleLabel?.textAlignment = .center
迅捷4号,代码9
myButton.contentHorizontalAlignment = .center
你可以从故事板做到这一点。 选择您的按钮。设置行分割’字包装’,设置您的标题’平原’到’属性’。 选择“中心对齐”。这部分很重要 = > 点击... (更多)按钮。然后选择断行模式到“字符包装”。
对于斯威夫特4:
@IBAction func myButton(sender: AnyObject) { sender.titleLabel?.textAlignment = NSTextAlignment.center sender.setTitle("Some centered String", for:UIControlState.normal) }