我想为我的图像创建一个文本叠加层.问题是,如果生病了尝试添加第二个文本,如字幕,它会忽略我的字体大小.
titleLayer.frame = CGRectMake(0,80,imageView.bounds.width,50) subTitleLayer.frame = CGRectMake(0,130,40) titleLayer.string = "Title" subTitleLayer.string = "Subtitle" let fontName: CFStringRef = "HelveticaNeue" let fontSubName: CFStringRef = "HelveticaNeue-Thin" titleLayer.font = CTFontCreateWithName(fontName,16,nil) subTitleLayer.font = CTFontCreateWithName(fontSubName,10,nil) // Ignores the font-size imageView.layer.addSublayer(titleLayer) imageView.layer.addSublayer(subTitleLayer)
新字体是正确的,但它总是与titleFont一样大小(16).如何更改字体大小?
看一下关于CATextLayer
font property的这个说明
If the font property is a CTFontRef,a CGFontRef,or an instance
of NSFont,the font size of the property is ignored.
它清楚地解释了CTFontRef的字体大小被忽略.要解决您的问题,您必须显式设置CATextLayer的fontSize属性
titleLayer.fontSize = 16 subTitleLayer.fontSize = 10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。