我正在构建一个应用程序,我需要根据标题长度调整按钮的大小。我写了以下代码
`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);
上面的代码会调整表的大小,但按钮不再是视图中的圆角矩形。请告诉我上述代码中的错误。
提前致谢!!
答案 0 :(得分:0)
我在这里得到了这个bug。我正在使用titlelabel的大小来初始化框架,该标签最终比宽度上的原始按钮大。这样一行
newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width, expectedLabelSize.height);
作为
newButton.frame = CGRectMake(xBase, yBase, expectedLabelSize.width + 15, expectedLabelSize.height);
这会将按钮加宽到足以容纳标签的新尺寸。
:)