UIKit绘图演练
一般使用UIKit给我们提供的绘图来绘制一些文字,图片这些东西.
UIKit给我们提供画图的方法底层也是分为四步.所以也必须在drawRect方法当中去写.
1.如何画文字?
先创建好要画的文字
使用UIKit提供的方法进行绘制.
方法说明:
drawAtPoint:要画到哪个位置
withAttributes:文本的样式.
[str drawAtPoint:CGPointZero withAttributes:nil];
2.如何添加绘制文字属性?
通过绘制方法的最后一个属性withAttributes来设置文字属性.
它要求传入的是一个字典.它是通过字典的key和Value的形式来设置文字样式.
那传什么key,什么值我们可以在UIKit头文件当中的NSAttributedString类当中去找.
使用形式如下:
创建一个可变的字典,设置key,value
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
字体
dict[NSFontAttributeName] = [UIFont systemFontOfSize:50];
颜色
dict[NSForegroundColorAttributeName] = [UIColor redColor];
设置边框颜色
dict[NSStrokeColorAttributeName] = [UIColor redColor];
dict[NSStrokeWidthAttributeName] = @1;
阴影
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowOffset = CGSizeMake(10, 10);
shadow.shadowColor = [UIColor greenColor];
shadow.shadowBlurRadius = 3;
dict[NSShadowAttributeName] = shadow;
3.drawAtPoint:和drawInRect:的区别?
drawAtPoint:不能够自动换行
drawInRect:能够自动换行
4.如果绘制图片?
绘制图片同样开始要先把图片素材导入.
AtPoint:参数说明图片要绘制到哪个位置.
通过调用UIKit的方法drawAtPoint:CGPointZero方法进行绘制;
5.在绘制图片过程当中.drawAtPoint:和drawInRect:两个方法的区别?
drawAtPoint:绘制出来的图图片跟图片的实际尺寸一样大
drawInRect:使用这个方法绘制出来的图片尺寸会和传入的rect区域一样大.
6.如果进行平铺图片?
[image drawAsPatternInRect:rect];
7.如何选用UIKit提供的方法快速画一个矩形?
快速的用矩形去填充一个区域
UIRectFill(rect);
8.如何利用UIKit裁剪一个区域?
UIRectClip(CGRectMake(0, 0, 50, 50));
这个方法必须要设置好裁剪区域,才能有裁剪
UIKit绘图演练的更多相关文章
- iOS开发之Quartz2D 五:UIKIT 绘图演练,画文字,画图片
#import "DrawView.h" @implementation DrawView -(void)awakeFromNib { // //画图片 // UIImage *i ...
- 05-UIKit绘图演练
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- iOS开发——UI进阶篇(十六)Quartz2D实战小例子
一.画线 只有在drawRect中才能获取到跟view相关联的上下文 - (void)drawRect:(CGRect)rect {} 一条线 // 1.获取跟当前View相关联的layer上下文(画 ...
- iOS绘图系统UIKit与Core Graphics
概述 iOS主要的绘图系统有UIKit,Core Graphics,Core Animation,Core Image,Open GL等,本片博文主要介绍UIKit与Core Graphics的绘图系 ...
- CALayer---iOS-Apple苹果官方文档翻译之CALayer
CHENYILONG Blog CALayer---iOS-Apple苹果官方文档翻译之CALayer CALayer /*技术博客http://www.cnblogs.com/ChenYilong/ ...
- CoreText 使用教程
[iOS开发] CoreText 使用教程:以创建一个简单的杂志应用为例抢沙发 分类:iPhone开发 标签:CoreText.iOS.iOS开发.iOS开发教程.杂志应用 BBS.CHINAAPP. ...
- iOS图像处理之Core Graphics和OpenGL ES初见
http://www.jianshu.com/p/f66a7ca326dd iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES.OpenGL ES是跨平台 ...
- View Programming Guide for iOS ---- iOS 视图编程指南(四)---Views
Views Because view objects are the main way your application interacts with the user, they have many ...
- 转-CoreText 使用教程
转自:http://www.dapps.net/dev/iphone/how-to-create-a-simple-magazine-app-with-core-text.html Core Text ...
随机推荐
- [C++]使用vector描述线性表定义及基本操作
#ifndef VECTORLIST_H #define VECTORLIST_H #include<iostream> #include"linearlist.h" ...
- 使用PyTorch构建神经网络模型进行手写识别
使用PyTorch构建神经网络模型进行手写识别 PyTorch是一种基于Torch库的开源机器学习库,应用于计算机视觉和自然语言处理等应用,本章内容将从安装以及通过Torch构建基础的神经网络,计算梯 ...
- http协议的状态码400,401,403,404,500,502,503,301,302等常见网页错误代码
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101(切换协议) 请求者已要求 ...
- AVD Pixel_2_API_30 is already running. lf that is not the case, delete the files at
AVD Pixel_2_API_30 is already running. lf that is not the case, delete the files at C:\Users\Adminis ...
- IIS部署.net core项目
1.安装AspNetCoreModule模块 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,中间最 ...
- 前端必备,5大mock省时提效小tips,用了提前下班一小时
一.一些为难前端的业务场景 在我的工作经历里,需要等待后端童鞋配合我的情形大概有以下几种: a.我们跟外部有项目合作,需要调用到第三方接口. 一般这种情况下,商务那边谈合同,走流程,等第三方审核, ...
- Python_issubclass&isinstance方法和types&inspect内置模块
issubclass&isinstance issubclass 用于判断一个类是否是一个已知类或是该已知类的子类.注意,该方法只能判断类不能判断实例化对象. class A: pass cl ...
- ajax 异步 提交 含文件的表单
1.前言 需求是使用 jquery 的 ajax 异步提交表单,当然,不是简单的数据,而是包含文件数据的表单.于是我想到了 new FormData() 的用法, 可是仍然提交失败,原来是ajax的属 ...
- C语言考题:输入一个字符串,将此字符串中特定的字符删去后, 显示新的字符串,要求用函数来完成删去字符的操作。
#include <stdio.h> #include <string.h> /*此题只需要删除单个字符,比较简单.相信大家也能做出来的.我这个也是可以实现的.只是加了两个判断 ...
- SpringBoot学习笔记二之Spring整合Mybatis
原文链接: https://www.toutiao.com/i6803235766274097678/ 在learn-admin-component子工程中加入搭建环境所需要的具体依赖(因为比较长配置 ...