调整UIButton的大小改变UIButton的类型

时间:2011-02-02 11:53:49

标签: iphone dynamic resize uibutton

我正在构建一个应用程序,我需要根据标题长度调整按钮的大小。我写了以下代码

`UIButton * newButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];

newButton.backgroundColor = [ UIColor clearColor];
newButton.titleLabel.backgroundColor = [ UIColor whiteColor];
[newButton setTitle:@"devsri" forState:UIControlStateNormal];
newButton.titleLabel.textColor = [ UIColor blackColor];

CGSize expectedLabelSize = [newButton.titleLabel.text sizeWithFont:newButton.titleLabel.font]; 
newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width, expectedLabelSize.height);

上面的代码会调整表的大小,但按钮不再是视图中的圆角矩形。请告诉我上述代码中的错误。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

我在这里得到了这个bug。我正在使用titlelabel的大小来初始化框架,该标签最终比宽度上的原始按钮大。这样一行

newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width, expectedLabelSize.height);

作为

newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width + 15, expectedLabelSize.height);

这会将按钮加宽到足以容纳标签的新尺寸。

:)