源码下载地址: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