2013-03-17 59 views
0

我有一个带有Round Rect按钮的ipad应用程序。我有两个问题。在UIButton上定位文字的难度很大

1 - 我无法让文字居中。我曾尝试过:

menuButton.contentHorizontalAlignment = 0; 

但它似乎没有工作。换行符模式设置为换行。

2 - 在文本为“使用电子数学”的另一个按钮上,连字符用作实际连字符,因此文本在一行上包含“使用e-”,第二行包含“数学”。

对这些查询的任何帮助非常感谢。

回答

0

UIButton如果您在运行时更改文本,则不会调整其标题标签的大小。您必须拨打[button sizeToFit];或以其他方式改变按钮的框架,以便调整标题标签大小。您还可以继续使用UIButton的子类更改每次更改标题文本时标签的大小。

+0

再次,我很抱歉,但我很困惑。我不认为我想改变文本的大小,只是居中。另外,即使在运行时更改文本,也会遇到问题,因为它说这些属性都是只读的。谢谢你的帮助。 – RGriffiths 2013-03-18 17:38:18

+0

如何更改按钮上的文字?显示你的代码。 – 2013-03-19 07:41:45

0

你可以子类UIButton的类,你可以在新的子归入​​按钮

[button titleLabel]drawTextInRect:frame]; 

在框架相对于按钮的边界的画矩形添加这个方法,在这里你可以定位标签的正文如你所愿。

+0

谢谢你的帮助,但我不明白我在这里要做什么。如果该按钮被称为menuButton,那么我如何使用你所说的将文本居中?对不起,但你如何分类UIButton? – RGriffiths 2013-03-18 17:28:19

+0

@ richard-griffiths说你有一个尺寸为60x30px的按钮,你可以将文本重定位为[[button titleLabel] drawTextInRect:CGRectMake(10,5,self.view.bounds.size.width-20,self.view.bounds .size.height-10)];所以你在这里做的是你从左边距和右边距开始标签10px,从上边距和下边距开始5px。 – MaheshShanbhag 2013-03-27 10:07:27