iOS -- UIKit绘图

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


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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 157,845评论 24 688
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 7,149评论 4 39
  • 一朵,二朵,三朵 …… 七朵,八朵,九朵 …… 我一片一片 不厌其烦地翻找着 始终始终找不到 那片反手是云覆手是雨...
    云可彦阅读 53评论 2 0
  • 8月已过半,即将迎来秋高气爽的9月。9月,正值丰收的好季节,亦是鲜参的旺季。对于每一位加一健康的粉丝和有机人参的食...
    加一健康管家阅读 106评论 0 0
  • 今天在微博上看到了一个视频,说的是一只狗在游艇上,海上风很大,结果狗被吹下海了,它在努力的游,可是它的精力有限。结...
    夜珑阅读 72评论 0 0