IOS SWIFT基本画图教程
OS SWIFT基本画图教程
其实这是以前做过的一个例子,方便自己参考的代码!希望对大家也有点参考.
首先,建立一个Swift类,继承UIView这个类,然后重写
func drawRect(rect: CGRect)
其次,获取画笔的上下文
var context:CGContextRef = UIGraphicsGetCurrentContext();//获取画笔上下文 CGContextSetAllowsAntialiasing(context, true) //抗锯齿设置
下面我们就可以编写画图形的代码了
1 画点
//画点
CGContextFillEllipseInRect(context, CGRectMake(75, 75, 50, 50))
2 画直线
//画直线
CGContextSetLineWidth(context, 5) //设置画笔宽度
CGContextMoveToPoint(context, 10, 20);
CGContextAddLineToPoint(context, 100, 100);
CGContextStrokePath(context)
3 画圆
//画圆
CGContextAddEllipseInRect(context, CGRectMake(50,50,100,100)); //画圆
CGContextStrokePath(context) //关闭路径
//通过画弧画圆
//弧度=角度乘以π后再除以180
//角度=弧度除以π再乘以180
CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor) //设置画笔颜色
CGContextAddArc(context, 100, 100, 50, 0, CGFloat(270*M_PI/180), 0) //画弧
CGContextStrokePath(context)//关闭路径
4 画字符串
//画字符串
var str:NSString = "我是吴统威";
str.drawAtPoint(CGPointMake(100, 200), withAttributes: nil);
5 画图片
//画图片
CGContextSetShadow(context, CGSizeMake(3, 3),10)
var img:UIImage = UIImage(named: "8")!;
img.drawAtPoint(CGPointMake(50, 250));
CGContextSetShadow(context, CGSizeMake(0, 0), 0)
6 使用PATH画图
//使用path画图
let p1:CGMutablePathRef = CGPathCreateMutable();
CGPathMoveToPoint(p1, nil, 50, 250)
CGPathAddLineToPoint(p1, nil, 50, 350)
CGContextAddPath(context, p1)
CGContextStrokePath(context)//关闭路径
这里主要是介绍基本的用法,其他复杂的图形,可以参照API文档,去调用相关的方法,画出自己想要的图形
附完整代码:
//
// DrawingView.swift
// study
//
// Created by Tonway on 15/2/2.
// Copyright (c) 2015年 Tonway. All rights reserved.
// import UIKit class DrawingView: UIView {
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect) {
// Drawing code
var context:CGContextRef = UIGraphicsGetCurrentContext();//获取画笔上下文
CGContextSetAllowsAntialiasing(context, true) //抗锯齿设置
//画点
//CGContextSetLineWidth(context, 50);
CGContextFillEllipseInRect(context, CGRectMake(75, 75, 50, 50))
CGContextSetLineWidth(context, 5) //设置画笔宽度
//画直线
CGContextMoveToPoint(context, 10, 20);
CGContextAddLineToPoint(context, 100, 100);
CGContextStrokePath(context)
//画圆
CGContextAddEllipseInRect(context, CGRectMake(50,50,100,100)); //画圆
CGContextStrokePath(context) //关闭路径
//通过画弧画圆
//弧度=角度乘以π后再除以180
//角度=弧度除以π再乘以180
CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor) //设置画笔颜色
CGContextAddArc(context, 100, 100, 50, 0, CGFloat(270*M_PI/180), 0) //画弧
CGContextStrokePath(context)//关闭路径
//画字符串
var str:NSString = "我是吴统威";
str.drawAtPoint(CGPointMake(100, 200), withAttributes: nil);
//画图片
CGContextSetShadow(context, CGSizeMake(3, 3),10)
var img:UIImage = UIImage(named: "8")!;
img.drawAtPoint(CGPointMake(50, 250));
// CGContextDrawImage(context, CGRectMake(100, 250, 100, 100),img.CGImage)
CGContextSetShadow(context, CGSizeMake(0, 0), 0)
//使用path画图
let p1:CGMutablePathRef = CGPathCreateMutable();
CGPathMoveToPoint(p1, nil, 50, 250)
CGPathAddLineToPoint(p1, nil, 50, 350)
CGContextAddPath(context, p1)
CGContextStrokePath(context)//关闭路径
}
}
效果图
本文属于吴统威的博客原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=85
IOS SWIFT基本画图教程的更多相关文章
- Apple Swift编程语言入门教程
Apple Swift编程语言入门教程 作者: 日期: 布衣君子 2015.09.22 目录 1 简介 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 ...
- ios Swift 之github
1. 软件类 a) 作者集合 http://nondot.org/sabre/ b) swift for facebook SWIFT是一个易于使用的,基于注解的Java来创建勤俭节约序列化类型和服务 ...
- ios Swift 资源池
Swift入门教程: http://www.cocoachina.com/applenews/devnews/2014/0604/8661.html Swift视频教程: http://www.coc ...
- 苹果Swift编程语言新手教程【中国版】
Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广 ...
- iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图 使用ios9中的开关.滑块控件 开关和滑块也是用于和用户进行交互的控件.本节将主要讲解这两种控件. ios9开关 开关控件常用来控制某个功能的 ...
- iOS 9应用开发教程之多行读写文本ios9文本视图
iOS 9应用开发教程之多行读写文本ios9文本视图 多行读写文本——ios9文本视图 文本视图也是输入控件,与文本框不同的是,文本视图可以让用户输入多行,如图2.23所示.在此图中字符串“说点什么吧 ...
- iOS 9应用开发教程之显示编辑文本标签文本框
iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将 ...
- iOS 9应用开发教程之使用代码添加按钮美化按钮
iOS 9应用开发教程之使用代码添加按钮美化按钮 丰富的用户界面 在iOS9中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. i ...
- iOS 9应用开发教程之编辑界面与编写代码
iOS 9应用开发教程之编辑界面与编写代码 编辑界面 在1.2.2小节中提到过编辑界面(Interface builder),编辑界面是用来设计用户界面的,单击打开Main.storyboard文件就 ...
随机推荐
- 下载文件 ,调用系统的方法(UIDocumentInteractionController) 查看
- IOS实现UIButton图文混排、自定义按钮按下和正常状态下不同的背景颜色、根据文字长度自定义UIButton长度
在一些项目中,我们需要自定义自己的UIButton,使Button上面同时具有图片和文字描述,实现自定义UIButton的图文混排. 首先我们需要定义一个继承自UIButton的类,同时实现自己的in ...
- window.parent与window.opener的区别与使用
window.parent 是iframe页面调用父页面对象 举例: a.html 如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrma ...
- [Jobdu] 题目1517:链表中倒数第k个结点
给出一个链表的头指针,要求找到倒数第k个节点,并输出这个节点的值 例子: 先看一个例子,链表为:1 2 3 4 5 6,倒数第2个节点就是5,倒数第一个节点就是6,以此类推.这里的链表有头节点,就是说 ...
- Java学习之内部类
示例1: package com.swust.面向对象; class Person1{ private String username="zhangsan"; public Per ...
- JAVA 对象内存分析
1.jmap -heap pid 或者 jmap -histo pid 2.jmap -dump:file=folder/dumpFileName.txt,format=b pid 3.对3的输出文件 ...
- jQuery常用方法集锦
用方法:http://www.cnblogs.com/linzheng/archive/2010/11/14/1877092.html 数组汇总:http://www.cnblogs.com/Andy ...
- 哈希长度扩展攻击的简介以及HashPump安装使用方法
哈希长度扩展攻击(hash length extension attacks)是指针对某些允许包含额外信息的加密散列函数的攻击手段.该攻击适用于在消息与密钥的长度已知的情形下,所有采取了 H(密钥 ∥ ...
- selenium + python自动化测试环境搭建--亲测
环境准备: 1.下载所学安装包: setuptools https://pypi.python.org/packages/2.7/s/setuptools/ selenium https://pypi ...
- 【android开发】小说阅读器
新人开发理念 1 activity 是每个功能页面的入口 2 动画效果需要配合资源文件中,动画的定义 3 文件的读取是有权限控制的 4 布局应该尽量简单,这样才能让程序跑的飞快 前记 重新开始一个新的 ...