如何在 UITextView 中为文本添加轮廓?
How to add outline to text in a UITextView?
我是 iOS 中文本编程的新手,目前有点难过。我正在创建一个示例项目来学习如何制作 lolcat 应用程序(从有趣的东西开始!)。
我有一个带猫的 UIImage,我通过在上面放一个带有文本的 UITextView 来在上面放一些文本。
我想以这样的文字结尾:
当我在 UILabel 中有文本时,我能够成功完成此操作。我使用了我在 SO 上找到的代码,它使用 drawTextInRect
来完成魔法。
现在,我想在 UITextView 中做同样的事情(我希望能够滚动文本)。
**编辑:**所以这是我目前正在尝试的:
var foo = NSAttributedString(string: text, attributes: [
NSStrokeColorAttributeName : UIColor.blackColor(),
NSForegroundColorAttributeName : UIColor.whiteColor(),
NSStrokeWidthAttributeName : NSNumber(float: -4.0),
NSFontAttributeName : UIFont.systemFontOfSize(30.0)
])
这让我得到这样的结果:
如果我现在将笔划宽度加倍到 -8.0,我会得到以下结果,在我看来这看起来非常糟糕。笔划宽度和我能看到的填充量之间似乎存在权衡。理想情况下,我希望笔划变宽而不用掉白色文本。
您需要阅读 NSAttributedString。你可以给字母画轮廓线:
使用 NSStrokeColorAttributeName
和 NSStrokeWidthAttributeName
配置轮廓笔画。
一旦你有了你的属性字符串,你就可以把它放在一个标签中,放在文本视图中,或者直接绘制它,随你喜欢。
如果添加一些扩展和一点点阴影,看起来可能会好一些:
您可以使用库 DrawingLabel 的帮助而无需任何 CoreGraphics 代码
DrawingStroke *blackStroke = [DrawingStroke new];
blackStroke.strokeWidth = 3.0;
blackStroke.strokeColor = [UIColor blackColor];
我是 iOS 中文本编程的新手,目前有点难过。我正在创建一个示例项目来学习如何制作 lolcat 应用程序(从有趣的东西开始!)。
我有一个带猫的 UIImage,我通过在上面放一个带有文本的 UITextView 来在上面放一些文本。
我想以这样的文字结尾:
当我在 UILabel 中有文本时,我能够成功完成此操作。我使用了我在 SO 上找到的代码,它使用 drawTextInRect
来完成魔法。
现在,我想在 UITextView 中做同样的事情(我希望能够滚动文本)。
**编辑:**所以这是我目前正在尝试的:
var foo = NSAttributedString(string: text, attributes: [
NSStrokeColorAttributeName : UIColor.blackColor(),
NSForegroundColorAttributeName : UIColor.whiteColor(),
NSStrokeWidthAttributeName : NSNumber(float: -4.0),
NSFontAttributeName : UIFont.systemFontOfSize(30.0)
])
这让我得到这样的结果:
如果我现在将笔划宽度加倍到 -8.0,我会得到以下结果,在我看来这看起来非常糟糕。笔划宽度和我能看到的填充量之间似乎存在权衡。理想情况下,我希望笔划变宽而不用掉白色文本。
您需要阅读 NSAttributedString。你可以给字母画轮廓线:
使用 NSStrokeColorAttributeName
和 NSStrokeWidthAttributeName
配置轮廓笔画。
一旦你有了你的属性字符串,你就可以把它放在一个标签中,放在文本视图中,或者直接绘制它,随你喜欢。
如果添加一些扩展和一点点阴影,看起来可能会好一些:
您可以使用库 DrawingLabel 的帮助而无需任何 CoreGraphics 代码
DrawingStroke *blackStroke = [DrawingStroke new];
blackStroke.strokeWidth = 3.0;
blackStroke.strokeColor = [UIColor blackColor];