ios-day15-05(Quartz 2D之一张图片以平铺或者填充的方式设置为UIView的背景、以填充的方式为UIView设置条纹背景)

源码下载地址:http://download.csdn.net/detail/liu537192/8522067


效果图:

图1           图2

图3


核心代码:

//
//  JLViewController.m
//  05-条纹背景
//
//  Created by Mac on 15-3-22.
//  Copyright (c) 2015年 vxinyou. All rights reserved.
//

#import "JLViewController.h"

@interface JLViewController ()

@end

@implementation JLViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
//    [self tile];
    
//    [self fill];
    
    [self listBackground];
}

/**
 *  模仿listView的分割线,给view设置条纹背景,效果图如图3所示。
 */
- (void)listBackground{

    // 1.创建一行背景图片(会以这张图片为单位,平铺整个view)
    CGFloat rowW = self.view.frame.size.width;
    //    CGFloat rowH = 40;
    CGFloat rowH = 30;
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(rowW, rowH), NO, 0.0);
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    // 画矩形框
    [[UIColor colorWithRed:142/255.0 green:255/255.0 blue:180/255.0 alpha:255/255.0] set];
    CGContextAddRect(ctx, CGRectMake(0, 0, rowW, rowH));
    CGContextFillPath(ctx);
    
    // 2.画线
    [[UIColor grayColor] set];
    CGFloat lineWidth = 2;
    CGContextSetLineWidth(ctx, lineWidth);
    CGFloat dividerX = 5;
    CGFloat dividerY = rowH - lineWidth;
    CGContextMoveToPoint(ctx, dividerX, dividerY);
    CGContextAddLineToPoint(ctx, rowW - dividerX, dividerY);
    CGContextStrokePath(ctx);
    
    // 3.取图
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
    // 4.结束上下文
    UIGraphicsEndImageContext();
    
    // 5.设置为背景
    self.view.backgroundColor = [UIColor colorWithPatternImage:newImage];
}

/**
 *  将一张图片填充整个view,效果图如图2所示
 */
- (void)fill{

    UIImage *image = [UIImage imageNamed:@"me"];
    
    UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
    
    [image drawInRect:self.view.bounds];
    
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    // UIView不像UIImageView有个image属性。
    self.view.backgroundColor = [UIColor colorWithPatternImage:newImage];
}

/**
 *  将一张图片以平铺的方式铺满整个view,效果图如图1所示
 */
- (void)tile{

    UIImage *image = [UIImage imageNamed:@"me"];
    
    self.view.backgroundColor = [UIColor colorWithPatternImage:image];
}

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值