我需要创建一个包含一行文本的图像.但问题是,我首先需要创建上下文(CGBitmapContextCreate),要求图像的宽度和高度有可能在以后计算文本的边界(通过CTLineGet
ImageBounds).但我希望图像的大小=文本的边界:(我该怎么办?
实际上我用
CGBitmapContextCreate CTLineGetImageBounds CTLineDraw
也许可以在没有上下文的情况下调用CTLineGetImageBounds?
注意:我在delphi上,这不是一个真正的问题,因为我可以访问所有的API,我只需要函数名称
解决方法
您可以通过执行以下操作,根据要使用的字体计算NSString将占用的空间:
NSString *testString = @"A test string"; CGSize boundingSize = self.bounds.size; CGRect labelRect = [testString boundingRectWithSize:boundingSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName : [UIFont systemFontOfSize:14] } context:nil];
其中边界大小是您希望图像的最大大小.然后,您可以使用计算的大小来创建图像.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。