UIKit绘制

2017-07-05  本文已影响0人  wutich

UIKit是高级别的图形接口,它的API都是基于Objective-C的。它能够访问绘图、动画、字体、图片等内容。

绘制视图

1.视图绘制周期

    drawRect
        setNeedsDisplay
        setNeedsDisplayInRect

触发视图重新绘制的动作有如下几种

2.填充矩形

    //为当前的图形上下文设置要填充的颜色
    [[UIColor redColor] setFill];
    //填充矩形函数-按照方才设置的颜色进行填充矩形
    UIRectFill(rect);

3.填充与描边

UIKit提供非常基本的绘图功能,主要的API有

UIKit虽然提供了UIBezierPath等类,但是对于线段、渐变,阴影,反锯齿等高级特性支持还是不及Quartz 2D

    //设置描边颜色
    [[UIColor blackColor] setStroke];
    CGRect frame = CGRectMake(20, 30, 100, 300);
    //矩形描边函数
    UIRectFrame(frame);

4.绘制图像和文本

/*UIImage类中绘制图像主要的方法*/
//-drawAtPoint:(CGPoint)point   设置绘制定点
//-drawInRect:(CGRect)rect      图片绘制在指定的矩形里
//-drawAsPatternInRect:(CGRect)rect     在指定的矩形里平铺绘制图片,如果图片大小超出了指定的矩形,形式上与-drawAtPoint:方法类似,如果图片大小小于指定的矩形,就会有平铺的效果
- (void)drawImage
{
    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"photo" ofType:@"jpg"];
    UIImage *myImageObj = [[UIImage alloc] initWithContentsOfFile:imagePath];
    [myImageObj drawInRect:CGRectMake(0, 40, 320, 400)];
}

把图片放在矩形中显示,由于矩形高度比例与图片的原始比例不一样导致图片变形,这是使用drawInRect:方法进行绘制图片时需要注意的。

/*NSString类中绘制文本主要的方法*/
//-(void)drawAtPoint:(CGPoint)point withAttributes:(NSDictionary *)attrs    文本在指定点绘制
//-(void)drawInRect:(CGRect) withAttributes:(NSDictionary *)attrs   文本在指定的矩形里绘制
- (void)drawString
{
    NSString *s = @"我的小马";
    UIFont *font = [UIFont systemFontOfSize:14.0];
    NSDictionary *attr = @{NSFontAttributeName:font};
    [s drawAtPoint:CGPointMake(100, 20) withAttributes:attr];
    
}
上一篇下一篇

猜你喜欢

热点阅读