关于在使用drawAtPoint:WithAttributes:的抽象类在什么时候使用,怎么实现字间距

问题已失效或不存在如何使用 drawInRect:withAttributes: 而不是 drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment: iOS 7 中
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
此方法已否决 iOS 7.0 中:
drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:
现在,使用 drawInRect:withAttributes: 相反。
我找不到属性名的字号和 baselineAdjustment 的属性。
感谢 @Puneet 的回答。
其实,我是说如果没有这些关键,如何在 iOS 7 中实现这种方法吗?
喜欢以下方法:
+ (CGSize)drawWithString:(NSString *)string atPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font fontSize:(CGFloat)fontSize
lineBreakMode:(IBLLineBreakMode)lineBreakMode
baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment {
if (iOS7) {
CGRect rect = CGRectMake(point.x, point.y, width, CGFLOAT_MAX);
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineBreakMode = lineBreakM
NSDictionary *attributes = @{NSFontAttributeName: font, NSParagraphStyleAttributeName: paragraphStyle};
[string drawInRect:rect withAttributes:attributes];
size = CGSizeZ
size = [string drawAtPoint:point forWidth:width withFont:font fontSize:fontSize lineBreakMode:lineBreakMode baselineAdjustment:baselineAdjustment];
我不知道如何通过 fontSize 和 baselineAdjustment 到
attributes字典。
NSBaselineOffsetAttributeName密钥应该通过 NSNumer 向它,但 baselineAdjustment 是 Enum 。
不是有其他传递的两个变量的方式吗?
解决方法 1:
您可以使用 NSDictionary 和应用这样的属性:
NSFont *font = [NSFont fontWithName:@"Palatino-Roman" size:14.0];
NSDictionary *attrsDictionary =
[NSDictionary dictionaryWithObjectsAndKeys:
font, NSFontAttributeName,
[NSNumber numberWithFloat:1.0], NSBaselineOffsetAttributeName, nil];
使用 attrsDictionary 作为参数。拒绝访问 | www.wangchao.net.cn | 百度云加速
请打开cookies.
此网站 (www.wangchao.net.cn) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(b35a4cb4-ua98).
重新安装浏览器,或使用别的浏览器拒绝访问 | www.colabug.com | 百度云加速
请打开cookies.
此网站 (www.colabug.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(e3f4364-ua98).
重新安装浏览器,或使用别的浏览器关于在使用drawAtPoint:WithAttributes:的时候,怎么实现字间距_百度知道
关于在使用drawAtPoint:WithAttributes:的时候,怎么实现字间距
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
孙中锋知道合伙人
来自知道合伙人认证行家
知道合伙人
数码类行家
采纳数:3981
获赞数:28151
从事电脑软硬件维修诊断5年 IOS/Android设备技术顾问
自己写点界面,比如NSComboBox之类的,让用户自己去选择,然后提供一个NSStepper或者别的textfield之类的,让用户输入大小
之后从上面得到用户选择的情况。使用下面的代码: 复制代码[fontAttributes setObject:[NSFont fontWithName:@&Hei& size:[fontSize floatValue]] forKey:NSFontAttributeName];在NSDictionary里面添加字体属性
之后在添加color或者别的属性,就好了。
然后用drawAtPoint:WithAttributes:这个方法绘制。
PS:如果想要得到使用属性后字体的边界值,使用下面的方法: 复制代码NSSize bound = [yourText sizeWithAttributes:fontAttributes];
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 什么时候使用魔棒工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信