Swift UILabel用于填充框架宽度的文本
我想用UILabel制作印刷海报Swift UILabel用于填充框架宽度的文本,swift,uilabel,sizetofit,Swift,Uilabel,Sizetofit,我想用UILabel制作印刷海报 左边距和边距:25 320(设备宽度)-50(页边距之和)=270(标签宽度框) 每个标签的字体大小应改变,以适应270帧宽度 我尝试使用sizeToFit(),调整ntsizetofitwidth=true var margin = 0; let label = UILabel(frame: CGRectMake(25 , 72, 270, 70)); label.backgroundColor = UIColor.clearColor(); label.
- 左边距和边距:25
- 320(设备宽度)-50(页边距之和)=270(标签宽度框)
var margin = 0;
let label = UILabel(frame: CGRectMake(25 , 72, 270, 70));
label.backgroundColor = UIColor.clearColor();
label.textAlignment = NSTextAlignment.Left;
label.textColor = UIColor.blackColor();
label.numberOfLines = 1;
label.font = UIFont.systemFontOfSize(50.0);
label.text = "Some Text";
label.adjustsFontSizeToFitWidth = true;
self.view.addSubview(label);
margin += 60;
let label2 = UILabel(frame: CGRectMake(25 , CGFloat(72+margin), 270, 70));
label2.backgroundColor = UIColor.clearColor();
label2.textAlignment = NSTextAlignment.Left;
label2.textColor = UIColor.whiteColor();
label2.numberOfLines = 1;
label2.font = UIFont.boldSystemFontOfSize(45.0);
label2.text = "Some Text Longer";
self.view.addSubview(label2);
Label1和label2调整ntSizeToFitWidth=true时的屏幕截图
var margin = 0;
let label = UILabel(frame: CGRectMake(25 , 72, 270, 70));
label.backgroundColor = UIColor.clearColor();
label.textAlignment = NSTextAlignment.Left;
label.textColor = UIColor.blackColor();
label.numberOfLines = 1;
label.font = UIFont.systemFontOfSize(50.0);
label.text = "Some Text";
label.adjustsFontSizeToFitWidth = true;
self.view.addSubview(label);
margin += 60;
let label2 = UILabel(frame: CGRectMake(25 , CGFloat(72+margin), 270, 70));
label2.backgroundColor = UIColor.clearColor();
label2.textAlignment = NSTextAlignment.Left;
label2.textColor = UIColor.whiteColor();
label2.numberOfLines = 1;
label2.font = UIFont.boldSystemFontOfSize(45.0);
label2.text = "Some Text Longer";
self.view.addSubview(label2);
文本应从第一个灰色边框的末尾开始,并在第二个灰色边框的开头结束
adjustsFontSizeToFitWidth
不会增加标签中字体的大小以适应宽度
根据苹果公司的文件
adjustsFontSizeToFitWidth是一个布尔值,指示
应减小字体大小,以便将标题字符串放入
标签的边框
通常,标签文本是使用您在中指定的字体绘制的
字体属性。但是,如果此属性设置为“是”,则文本
在文本属性超出标签的边框时
接收方开始减小字体大小,直到字符串合适或
已达到最小字体大小。在iOS 6及更早版本中,此属性为
仅当numberOfLines属性设置为1时有效
您可以尝试增大字体大小以适应边框的宽度。
资料来源:
您还可以使用以下方法迭代查找适合标签的最大尺寸。
这应该可以在不改变许多默认值的情况下工作。发布的代码未设置
adjustsFontSizeToFitWidth
,如下所示:
label.adjustsFontSizeToFitWidth = true
当
adjustsFontSizeToFitWidth=true
时,字体大小将根据帧的不同而变化。这对你不管用吗?您尚未将其设置为label2
无调整ntSizeToFitWidth无效。文本有一个左填充,并且不在25像素处加星号。还包括println(label.font);字体系列:“.HelveticaNeueInterface Regular”;字体大小:正常;字体风格:普通;字体大小:50.00p标签中的文本是否被剪裁?fontsize为50(如果合适)有什么问题?您已将label
img设置为50-我希望文本从第一个灰色开始,第二个灰色结束border@EvenJohnson你不能把字体调大一点吗?label.font=UIFont.systemFontOfSize(30.0);label.text=“Some text”label.sizehattfits(CGSizeMake(270,40));label.sizeToFit();label.adjustsFontSizeToFitWidth=true;我不理解你的评论。你能解释一下吗?