如何从标题字符串创建按钮

时间:2014-05-18 04:45:28

标签: objective-c nsstring uibutton

我想从NSString创建UIButton。 我有一个这样的字符串 @“第一个按钮”我想先得到宽度像素的大小,然后创建一个按钮后根据这个字符串,但我不知道它。

请指导我。

2 个答案:

答案 0 :(得分:2)

您可以使用CGSize获取NSString的{​​{1}}(在我们使用sizeWithAttributes之前,但现在已经弃用sizeWithFont}方法,然后创建{根据

这样的大小{1}}
iOS 7

回顾这个工作正常对我来说。 希望这会对你有所帮助。

答案 1 :(得分:1)

首先,您必须使用

获取文本的大小
NSString someText = @"some Text";
CGSize constraintSize = CGSizeMake(youMaxWidthForButton, youMaxHeightForButton);
CGRect labelSize = [someText boundingRectWithSize:constraintSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont     systemFontOfSize:17.0f]} context:nil];

而不是您创建UIButton

UIButton *button = [[UIButton alloc]initWithFrame:labelSize];

最后你设置按钮标题

 button.titleLabel.text = someText;