-
实例:绘制文字与图片到视图中
效果图.png
注意:
- 要自定义视图,然后重写drawRect:方法,进行重绘,与Quartz2D一样,都要重写该方法进行重绘
实现:
- 1.自定义视图,重写drawRect:方法进行重绘
// .h文件
#import <UIKit/UIKit.h>
@interface DrawTextView : UIView
@end
// .m 实现文件
#import "DrawTextView.h"
@implementation DrawTextView
/**
* 重写该方法,进行视图重绘
*/
- (void)drawRect:(CGRect)rect {
// Drawing code
/**
* 富文本
*/
// 向视图上画文字
NSString *text = @"画文字";
NSDictionary *dict = @{
NSFontAttributeName : [UIFont systemFontOfSize:50 ],
NSBackgroundColorAttributeName : [UIColor redColor],
NSStrokeColorAttributeName : [UIColor greenColor],
NSStrokeWidthAttributeName : @"3"
};
[text drawAtPoint:CGPointMake(0, 0) withAttributes:dict];
// 向视图上绘制图片
[self drawImage:CGRectMake(100, 100, 80, 80)];
}
/**
* 向视图中绘制图片
*
* @param rect 绘制图片的位置与尺寸
*/
- (void)drawImage:(CGRect) rect{
UIImage *image = [UIImage imageNamed:@"Snip20150804_2"];
// [image drawAsPatternInRect:rect];
// [image drawAtPoint:CGPointMake(0, 0)];
[image drawInRect:rect];
}
/**
* 向视图上画文字
*/
- (void)drawText{
NSString *text = @"呵呵";
[text drawInRect:self.bounds withAttributes:nil];
[text drawAtPoint:CGPointMake(self.frame.size.width * 0.5, self.frame.size.height * 0.5) withAttributes:nil];
}
@end
- 2.在控制器.m文件中,添加自定义DrawTextView控件,即可显示以上效果
网友评论