如何使UIButton的文本alignment中心? 使用IB
我不能使用IB作为中心来设置UIButton的标题。 我的标题是多行的。
这是给这样的一个
但是我想要这个
我已经给了空间,但我不想这样做。 因为它不是完全alignment的一些情况下,我知道有一个属性的UILabel设置alignment,但我不想写一个代码,只是想设置从IB的一切。
谢谢
这将完全符合你的期望:
Objective-C的:
[myButton.titleLabel setTextAlignment:UITextAlignmentCenter];
对于iOS 6或更高版本
[myButton.titleLabel setTextAlignment: NSTextAlignmentCenter];
正如泰勒53的回答所解释的那样
迅速:
myButton.titleLabel?.textAlignment = NSTextAlignment.Center
使用该行:
myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
这应该中心内容(水平)。
如果要将标签内的文本设置为中心,请使用:
[labelOne setTextAlignment:UITextAlignmentCenter];
如果你想使用IB,我在这里有一个在XCode 4中链接的小例子,但是应该提供足够的细节(另外请注意,在属性屏幕上它显示了属性标签,你可以在XCode中find相同的标签3.X):
解决方法1
您可以在故事板中设置关键path
将文本设置为多行标题,例如hello
+ multi multiline
您需要按⌥ + ↵将文本移动到下一行。
然后添加关键path
titleLabel.textAlignment
为Number
和Value 1
表示NSTextAlignmentCenter
titleLabel.numberOfLines
作为Number
和值0
意味着任意数量的行
这不会反映在IB / Xcode上,但会在运行时居中(设备/模拟器)
如果你想看到在Xcode上的变化,你需要做以下几点:(记住你可以跳过这些步骤)
-
子类的UIButton使buttondevise:
import UIKit @IBDesignable class UIDesignableButton: UIButton {}
-
将这个可devise的子类分配给您正在修改的button:
- 如果做得对,当Designables状态为“最新”(可能需要几秒钟)时,您会看到IB中的视觉更新:
溶液2
如果你想写代码,那么做一个漫长的过程
1.创buildIBOutlet
button
2.在viewDidLoad中写入代码
btn.titleLabel.textAlignment = .Center btn.titleLabel.numberOfLines = 0
Solution3
在较新版本的xcode(我的xcode 6.1)中,我们有财产归属标题
selectAttributed
然后select下面的文本和新闻中心选项
PS文本是不是多行,因为我必须设置
btn.titleLabel.numberOfLines = 0
对于UIButton你应该使用: –
[btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
对于ios 8和Swift
btn.titleLabel.textAlignment = NSTextAlignment.Center
要么
btn.titleLabel.textAlignment = .Center
对于那些正在使用iOS 6或更高版本的用户,UITextAlignmentCenter已被弃用。 现在是NSTextAlignmentCenter
示例: mylabel.textAlignment = NSTextAlignmentCenter;
完美的作品。
假设btn指向一个UIButton,要将多行标题更改为水平居中,则可以在iOS 6或更高版本中使用以下语句:
self.btn.titleLabel.textAlignment = NSTextAlignmentCenter;
UITextAlignmentCenter
在iOS6中已弃用
相反,你可以使用这个代码:
btn.titleLabel.textAlignment=NSTextAlinmentCenter;
其实你可以在界面生成器中完成。
您应将标题设置为“已归因”,然后select中心alignment。
UIButton将不支持setTextAlignment。 所以你需要使用setContentHorizontalAlignment来进行button文本alignment
供你参考
[buttonName setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
试试像这样:
yourButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; yourButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
对于Swift 3.0
btn.titleLabel?.textAlignment = .center
对于迅速4,Xcode 9
myButton.contentHorizontalAlignment = .center