gpt4 book ai didi

ios - drawInRect:withAttributes 与 drawInRect:withFont:lineBreakMode:alignment

转载 作者:IT王子 更新时间:2023-10-29 07:48:19 27 4
gpt4 key购买 nike

我正在开发我的应用程序的新版本并尝试替换已弃用的消息,但我无法通过这个。

我不明白为什么 drawInRect:withAttributes 不工作。代码在 drawInRect:withFont:lineBreakMode:alignment 消息发送时正常显示,但在 drawInRect:withAttributes 发送时不起作用。

我使用相同的矩形和字体,我认为是相同的文本样式。常量只是将矩形定位在图像下方,但我对两个调用使用相同的矩形,所以我确定矩形是正确的。

(注意下面使用的bs.name是一个NSString对象)

        CGRect textRect = CGRectMake(fCol*kRVCiPadAlbumColumnWidth,
kRVCiPadAlbumColumnWidth-kRVCiPadTextLabelYOffset,
kRVCiPadAlbumColumnWidth,
kRVCiPadTextLabelHeight);
NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
textStyle.lineBreakMode = NSLineBreakByWordWrapping;
textStyle.alignment = NSTextAlignmentCenter;
UIFont *textFont = [UIFont systemFontOfSize:16];

使用上面的变量这不起作用(屏幕上没有绘制任何内容)

        [bs.name drawInRect:textRect
withAttributes:@{NSFontAttributeName:textFont,
NSParagraphStyleAttributeName:textStyle}];

这确实有效(字符串在屏幕上正确绘制)使用与上面相同的变量

        [bs.name drawInRect:textRect
withFont:textFont
lineBreakMode:NSLineBreakByWordWrapping
alignment:NSTextAlignmentCenter];

任何帮助都会很棒。谢谢。

最佳答案

要设置文本的颜色,您需要将属性中的 NSForegroundColorAttributeName 作为附加参数传递。

NSDictionary *dictionary = @{ NSFontAttributeName: self.font,
NSParagraphStyleAttributeName: paragraphStyle,
NSForegroundColorAttributeName: self.textColor};

关于ios - drawInRect:withAttributes 与 drawInRect:withFont:lineBreakMode:alignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com