1 //
2 // ViewController.m
3 // 背景平铺
4 //
5 // Created by zjj on 15/7/4.
6 // Copyright (c) 2015年 zjj. All rights reserved.
7 //
8
9 #import "ViewController.h"
10
11 @interface ViewController ()
12 @property (weak, nonatomic) IBOutlet UITextView *textViewsLine;
13
14 @end
15
16 @implementation ViewController
17
18 - (void)viewDidLoad {
19 [super viewDidLoad];
20 [self testViewLine];
21 // [self testBgLine];
22 // [self testsBg];
23 }
24 /**
25 * 给指定控件设置分割线
26 */
27 - (void)testViewLine
28 {
29 CGFloat rowW = self.view.frame.size.width;
30 CGFloat rowH = 30;//self.textViewsLine.font.lineHeight;
31 // 创建一行背景图片
32 UIGraphicsBeginImageContextWithOptions(CGSizeMake(rowW, rowH), NO, 0.0);
33 // 取出上下文
34 CGContextRef ctx = UIGraphicsGetCurrentContext();
35 // 画个矩形框
36 [[UIColor whiteColor] set];
37 CGContextAddRect(ctx, CGRectMake(0, 0, rowW, rowH));
38 CGContextFillPath(ctx);
39 // 画线
40 [[UIColor blueColor] set];
41 CGFloat dividerX = 10;// 分割线与屏幕两边的间距
42 CGFloat lineWidth = 2;
43 CGContextSetLineWidth(ctx, lineWidth);//设定线宽
44 CGFloat dividerY = rowH - lineWidth;// Y值为背景图高度减去线宽度
45 CGContextMoveToPoint(ctx, dividerX, dividerY);
46 CGContextAddLineToPoint(ctx, rowW - dividerX, dividerY);
47 CGContextStrokePath(ctx);
48 // 取图
49 UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext();
50 // 结束上下文
51 UIGraphicsEndImageContext();
52 self.textViewsLine.backgroundColor = [UIColor colorWithPatternImage:newImg];
53 }

54 /**
55 * 画 类似通讯录分割线
56 */
57 - (void)testBgLine
58 {
59 CGFloat rowW = self.view.frame.size.width;
60 CGFloat rowH = 44;
61 // 创建一行背景图片
62 UIGraphicsBeginImageContextWithOptions(CGSizeMake(rowW, rowH), NO, 0.0);
63 // 取出上下文
64 CGContextRef ctx = UIGraphicsGetCurrentContext();
65 // 画个矩形框
66 [[UIColor whiteColor] set];
67 CGContextAddRect(ctx, CGRectMake(0, 0, rowW, rowH));
68 CGContextFillPath(ctx);
69 // 画线
70 [[UIColor blueColor] set];
71 CGFloat dividerX = 10;// 分割线与屏幕两边的间距
72 CGFloat lineWidth = 2;
73 CGContextSetLineWidth(ctx, lineWidth);//设定线宽
74 CGFloat dividerY = rowH - lineWidth;// Y值为背景图高度减去线宽度
75 CGContextMoveToPoint(ctx, dividerX, dividerY);
76 CGContextAddLineToPoint(ctx, rowW - dividerX, dividerY);
77 CGContextStrokePath(ctx);
78 // 取图
79 UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext();
80 // 结束上下文
81 UIGraphicsEndImageContext();
82 self.view.backgroundColor = [UIColor colorWithPatternImage:newImg];
83 }
84
85 /**
86 * 将任意一张图 在不修改尺寸情况下 拉伸平铺到屏幕上
87 */
88 - (void)testsBg
89 {
90 UIImage *oldImg = [UIImage imageNamed:@"金币啊"];
91 UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
92 [oldImg drawInRect:self.view.bounds];
93 UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext();
94 UIGraphicsEndImageContext();
95 self.view.backgroundColor = [UIColor colorWithPatternImage:newImg];
96 }
97 @end
