美文网首页iOS
iOS -- UIKit绘图

iOS -- UIKit绘图

作者: iOS_成才录 | 来源:发表于2015-11-12 19:20 被阅读278次
    • 实例:绘制文字与图片到视图中


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

    相关文章

      网友评论

        本文标题:iOS -- UIKit绘图

        本文链接:https://www.haomeiwen.com/subject/uzcfhttx.html