画分割线

 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
时间: 2024-10-13 16:04:49

画分割线的相关文章

android gridview画分割线

dongyangzhang android gridview画分割线,如图: 1.先上图: 2.具体实现代码: public class LineGridView extends GridView { public LineGridView(Context context) { super(context); // TODO Auto-generated constructor stub } public LineGridView(Context context, AttributeSet at

iOS开发笔记--cell最右边显示箭头,字符,自定义分割线

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier]; if (0 == i

嵌入式软件设计第11次实验报告

学号:140201126             姓名:杨鹏飞 组别:第2组                实验地点:D19 一.实验目的: 1.了解短信AT指令的使用方法. 2.掌握使用短信AT指令驱动SIM900A发送和接收短信的方法. 二.实验内容: 1.使用AT命令进行模块测试,发送和接收短信. 2.编写程序利用触摸屏完成固定号码短信的发送和接收.(需要加上AT测试命令模块.手机SIM卡检测模块.手机信号质量检测模块等等.) 三.实验过程描述及结果展示: 短信常用AT指令 程序代码: #

Effective前端4:尽可能地使用伪元素

伪元素是一个好东西,但是很多人都没怎么用,因为他们觉得伪元素太诡异了.其实使用伪元素有很多好处,最大的好处是它可以简化页面的html标签,同时用起来也很方便,善于使用伪元素可以让你的页面更加地简洁优雅. 更好的阅读体验移步:http://yincheng.site/using-before-after 1. 伪元素使用场景 伪元素一般是用于画图,特别是那种无关紧要的分隔线.点之类的小元素,如下图的绿框所示: 上面第一张图的分隔线,就是用before画的.只需要给div套一个类,这个类写一个bef

OpenGl学习进程(7)第五课:点、边和图形(二)边

本节是OpenGL学习的第五个课时,下面介绍OpenGL边的相关知识: (1)边的概念: 数学上的直线没有宽度,但OpenGL的直线则是有宽度的.同时,OpenGL的直线必须是有限长度,而不是像数学概念那样是无限的.可以认为,OpenGL的“直线”概念与数学上的“线段”接近,它可以由两个端点来确定.     (2)如何绘制边: 1)OpenGL支持绘制三种类型的边: GL_LINES :指定两个顶点,在它们之间绘制一条直线.如果为GL_LINES指定了奇数个顶点,那么最后一个顶点会被忽略. GL

机器学习系列(9)_机器学习算法一览(附Python和R代码)

本文资源翻译@酒酒Angie:伊利诺伊大学香槟分校统计学同学,大四在读,即将开始计算机的研究生学习.希望认识更多喜欢大数据和机器学习的朋友,互相交流学习. 内容校正调整:寒小阳 && 龙心尘 时间:2016年4月 出处:http://blog.csdn.net/han_xiaoyang/article/details/51191386 http://blog.csdn.net/longxinchen_ml/article/details/51192086 声明:版权所有,转载请联系作者并注

Day3 : Auto layout 和 JVFloatLabeledTextfield框架 学习笔记

为了可以优化项目的UI,为了可以使用JVFloatLabeledTextfield框架来构建文本输入框(动画效果超赞),今天重点学习了Auto Layout(以下简称AL)技术,主要是了解AL的工作原理,并且要掌握用代码添加constraints. 1.JVFloatLabeledTextfield JVFloatLabeledTextfield框架可以让文本框呈现一个漂浮的PlaceHolder,简洁.明确.生动.而这个框架另一个让我大开眼界的是他利用AL技术画直线,做出一个简单的表单页面.画

RecyclerView使用大全

RecylerView介绍 RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recylerview即回收view也可以看出.官方对于它的介绍则是:RecyclerView 是 ListView 的升级版本,更加先进和灵活.RecyclerView通过设置LayoutManager,ItemDecoration,ItemAnimator实现你想要的效果. 使用LayoutManager来确

[转]Android样式的开发:shape篇

转载自Keegan小钢原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇Android样式的开发:selector篇Android样式的开发:layer-list篇Android样式的开发:drawable汇总篇Android样式的开发:View Animation篇Android样式的开发:Property Animation篇Android样式的开发:Style篇 一个应用,应该保持一套统一的样式,包括Butt