Ind*_*ore 133 objective-c interface-builder uibutton ios
我不能使用IB作为中心来设置UIButton的标题.我的标题是多行的.
它是这样的
 
但我想要这个
 
我已经给了空间,但我不想这样做.由于它没有完全对齐某些情况,我知道UILabel有一个属性来设置对齐但我不想为此编写代码...只想从IB设置所有内容.
谢谢
RGM*_*GML 186
这将完全符合您的期望:
Objective-C的:
 [myButton.titleLabel setTextAlignment:UITextAlignmentCenter];
Run Code Online (Sandbox Code Playgroud)
适用于iOS 6或更高版本
 [myButton.titleLabel setTextAlignment: NSTextAlignmentCenter];
Run Code Online (Sandbox Code Playgroud)
正如tyler53的回答所解释的那样
迅速:
myButton.titleLabel?.textAlignment = NSTextAlignment.Center
Run Code Online (Sandbox Code Playgroud)
        Joe*_*jah 104
使用该行:
myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
Run Code Online (Sandbox Code Playgroud)
这应该使内容居中(水平).
如果您想将标签内的文本设置为中心,请使用:
[labelOne setTextAlignment:UITextAlignmentCenter];
如果你想使用IB,我在这里有一个小例子,它在XCode 4中链接但是应该提供足够的细节(还要注意,在该属性屏幕的顶部显示属性选项卡.你可以在XCode中找到相同的标签3.X):

Ind*_*ore 84
您可以在故事板中设置密钥路径
将文本设置为多行标题,例如hello  ⌥ +↵ multiline
您需要按 ⌥ + ↵将文本移动到下一行.
然后添加密钥路径
titleLabel.textAlignmentas Number和value 1,1表示NSTextAlignmentCenter
titleLabel.numberOfLinesas Number和value 0,0表示任意数量的行
这不会反映在IB/Xcode上,但会在运行时位于中心(设备/模拟器)
如果您想在Xcode上看到更改,您需要执行以下操作:(请记住,您可以跳过这些步骤)
对UIButton进行子类化以使按钮可设计:
import UIKit
@IBDesignable class UIDesignableButton: UIButton {}
将此可设计子类分配给您正在修改的按钮:
如果要编写代码,请执行漫长的过程
1.创建IBOutlet按钮2. 
在viewDidLoad中编写代码
btn.titleLabel.textAlignment = .Center
btn.titleLabel.numberOfLines = 0
Run Code Online (Sandbox Code Playgroud)
在较新版本的xcode(我的是xcode 6.1)中我们有属性属性标题
选择Attributed然后选择文本并按下中心选项
PS文本不是多线因为我必须设置
btn.titleLabel.numberOfLines = 0

小智 26
对于UIButton你应该使用: -
[btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
Run Code Online (Sandbox Code Playgroud)
        Edu*_*ezi 16
对于ios 8和Swift
btn.titleLabel.textAlignment = NSTextAlignment.Center
要么
btn.titleLabel.textAlignment = .Center
tyl*_*r53 12
对于那些现在使用iOS 6或更高版本的用户,UITextAlignmentCenter已被弃用.它现在是NSTextAlignmentCenter
示例:mylabel.textAlignment = NSTextAlignmentCenter;完美运行.
Sha*_* Ye 10
对于swift 4,xcode 9
myButton.contentHorizontalAlignment = .center
Run Code Online (Sandbox Code Playgroud)
        假设btn引用UIButton,要将多行标题更改为水平居中,可以在iOS 6或更高版本中使用以下语句:
self.btn.titleLabel.textAlignment = NSTextAlignmentCenter;
Run Code Online (Sandbox Code Playgroud)
        对于 Swift 4:
@IBAction func myButton(sender: AnyObject) {
    sender.titleLabel?.textAlignment = NSTextAlignment.center
    sender.setTitle("Some centered String", for:UIControlState.normal)
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           117361 次  |  
        
|   最近记录:  |