- (voID)drawText:(CGContextRef)contextP startX:(float)x startY:(float)y withText:(Nsstring *)standString{ CGContextTranslateCTM(contextP,(bottom-top)*2); CGContextScaleCTM(contextP,1.0,-1.0); CGRect frameText = CGRectMake(1,(right-left)*2,(bottom-top)*2); NSMutableAttributedString * attrString = [[NSMutableAttributedString alloc] initWithString:standString]; [attrString addAttribute:NSFontAttributename value:[UIFont FontWithname:@"Helvetica-Bold" size:16.0] range:NSMakeRange(0,attrString.length)]; CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((__brIDge CFAttributedStringRef)(attrString)); struct CGPath * p = CGPathCreateMutable(); CGPathAddRect(p,NulL,frameText); CTFrameRef frame = CTFramesetterCreateFrame(framesetter,CFRangeMake(0,0),p,NulL); CTFrameDraw(frame,contextP);}解决方法 我可以看到这样做的唯一方法是运行大小计算的系统然后调整大小并重复,直到找到正确的大小.
即建立一定的尺寸之间的平分算法.
即运行大小10.
太小.
尺寸20.
太小.
尺寸30.
太大.
尺寸25.
太小.
尺寸27.
对,使用大小27.
你甚至可以从数百人开始.
尺码100.太大.尺码50.等等…
总结以上是内存溢出为你收集整理的计算字体大小以适应框架 – 核心文本 – NSAttributedString – iOS全部内容,希望文章能够帮你解决计算字体大小以适应框架 – 核心文本 – NSAttributedString – iOS所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)