TextImageView.h
@interface TextImageView : UIView
@property (nonatomic, strong) UIImage *image;
@property (nonatomic, strong) NSString *text;
@end
TextImageView.m
@implementation TextImageView
- (void)drawRect:(CGRect)rect
{
[self.image drawInRect:self.bounds];
[self.text drawInRect:self.bounds
withAttributes:@{}];
}
@end
Метод в принятом ответе устарел. Вместо этого вы можете использовать метод - [NSString drawInRect:withAttributes:]
.
Вы должны вызывать этот метод из drawRect:
метода подкласса UIView
, но если вы подкласс UIImageView
, drawRect:
никогда не будет вызван. ( Из документов : "UIImageView не вызывает метод drawRect: его подклассов.")
Итак, вы действительно не можете нарисовать текст на UIImageView
, но вы можете создать подкласс UIView
и сделать так, чтобы он рисовал изображение с текстом сверху, как предложено выше.