iOS - 如何在 UIImageView 上添加显示字符串

Posted

技术标签:

【中文标题】iOS - 如何在 UIImageView 上添加显示字符串【英文标题】:iOS - How to add display a string on a UIImageView 【发布时间】:2010-10-16 07:27:36 【问题描述】:

如何在 UIImage 视图上显示字符串?

好的,我现在知道了:

- (void)viewDidLoad 
  [super viewDidLoad];
  playerPositions = [[NSArray alloc] initWithObjects:box1,box2,box3,box4,nil];
  [box3 drawRect:box3.frame];


- (void)drawRect:(CGRect)rect 
  [super drawRect:rect];

  CGContextRef context = UIGraphicsGetCurrentContext();
  CGContextSetFontSize(context, 11.5);

  CGContextSelectFont(context, "Helvetica", 10.5, kCGEncodingMacRoman);
  CGContextShowText(context, "Tys", 5);
  CGContextShowTextAtPoint(context, 50, 60, "value", 5);

但我测试时没有显示任何文字。

【问题讨论】:

我不确定问题出在哪里 - 我发布的代码对我来说效果很好。另外,请确保 CGContextShowText 和 CGContextShowText 中的最后一个参数是您要绘制的文本的 strlen。 顺便说一句,在 viewDidLoad 中直接调用 drawRect 是完全错误的。如果你想重绘组件,你应该调用 [box3 setNeedsDisplay]; 您也可以尝试在此处查看用法示例:codesearch.google.com/… 【参考方案1】:

我会覆盖 UIImageView 的 drawRect: 方法:

- (void)drawRect:(CGRect)rect 
    [super drawRect:rect];

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFontSize(context, 11.5)

    CGContextSelectFont(context, "Helvetica", 10.5, kCGEncodingMacRoman)
    CGContextShowText(context, "value", 5)
    CGContextShowTextAtPoint(context, 50, 60, "value", 5)

更新:

昨天我遇到了同样的问题。以 [NSString drawAtPoint:withFont] 方法结束 - 它完美运行。

【讨论】:

我无法轻松地将代码粘贴到这些 cmets 中,因此我将其编辑到问题中。现在我有了这段代码,我该如何有效地调用它?还没有为我工作,见上文。我哪里错了?

以上是关于iOS - 如何在 UIImageView 上添加显示字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中使用 UIImageview 添加 UIScrollview 的页面控件

如何在ios目标c的UIImageView中添加UIView

iOS:如何让后台线程在主线程上重绘视图

在 iOS 的 UIImageView 后面添加 CAGradient 层

如何在 UIImageView iOS 上设置阴影渐变图像

如何在不缩放图像子视图的情况下缩放图像?迅速的ios