UIButton标题对齐和多行支持

Raj*_*aju 68 iphone cocoa-touch uibutton uikit ios

如何将a的标题设置UIButton为左对齐,如何在a中显示多行文本UIButton

Ian*_*haw 187

以下是在代码中执行UIButton对齐的代码: -

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
Run Code Online (Sandbox Code Playgroud)


nev*_*ing 131

要设置a的对齐方式UIButton,请在Interface Builder的Attributes Inspector中查找按钮.有一个名为Alignment的部分.将其设置为左侧.或者对,或者你想要什么.

在此输入图像描述

要在代码中执行此操作,请使用contentHorizontalAlignment属性UIControl.您可以将其设置为以下任何属性:

UIControlContentHorizontalAlignmentCenter
UIControlContentHorizontalAlignmentLeft
UIControlContentHorizontalAlignmentRight
UIControlContentHorizontalAlignmentFill

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight];
Run Code Online (Sandbox Code Playgroud)

这些选项中没有一个看起来特别好(正如您在上面看到的那样),并且您可能有更多运气使用contentEdgeInsets属性UIButton来重新定位内容.

要在a设置多行标题UIButton,请查看此论坛帖子,其中介绍了如何更改按钮标签.

或者您可以使用此代码快速制作2行按钮:

myButton.titleLabel.textAlignment = UITextAlignmentCenter;
myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
[myButton setTitle:@"Siegfried\nRoy" forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Raju,不要忘记将问题标记为已接受.

  • 你没有得到足够的标记来回答你的一些问题;-) (11认同)
  • `numberOfLines`适用于iOS5,但仍需要为iOS 4设置`lineBreakMode`. (2认同)
  • 仅供参考:iOS 6中已弃用UITextAlignmentCenter,现在应改用NSTextAlignmentCenter。 (2认同)

Mar*_*arc 7

实际上,您可以设置lineBreakModeUILineBreakModeWordWrapUILineBreakModeCharacterWrap.如有必要,这会将文本分成多行.


rak*_*hNS 6

试试这个

    myButton.titleLabel.textAlignment = UITextAlignmentLeft;
    myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
    myButton.titleLabel.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)