我想从NSString创建UIButton。 我有一个这样的字符串 @“第一个按钮”我想先得到宽度像素的大小,然后创建一个按钮后根据这个字符串,但我不知道它。
请指导我。
答案 0 :(得分:2)
您可以使用CGSize
获取NSString
的{{1}}(在我们使用sizeWithAttributes
之前,但现在已经弃用sizeWithFont
}方法,然后创建{根据
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;