iOS -- UIKit绘图

  • 实例:绘制文字与图片到视图中


    iOS -- UIKit绘图_第1张图片
    效果图.png

注意:

  • 要自定义视图,然后重写drawRect:方法,进行重绘,与Quartz2D一样,都要重写该方法进行重绘

实现:

  • 1.自定义视图,重写drawRect:方法进行重绘
// .h文件

#import 

@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控件,即可显示以上效果

你可能感兴趣的:(iOS -- UIKit绘图)