iOS开发UI篇—Quartz2D简单使用(二)
iOS开发UI篇—Quartz2D简单使用(二)
一、画文字
代码:
// // YYtextview.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // Copyright (c) 2014年 itcast. All rights reserved. // #import "YYtextview.h"@implementation YYtextview- (void)drawRect:(CGRect)rect {// 画文字NSString *str = @"的额搜风搜分手了粉色发俄双方说法offFF瓦房你F回复F入会费WFH;飞;FN返回WFH;哦发货;F回复;FHISFHSIFH我皮肤好APIFRHi分红AWFHIOF威锋网i";// 1.获取上下文// CGContextRef ctx = UIGraphicsGetCurrentContext();// 2.绘图// 不推荐使用C语言的方法绘制文字, 因为quraz2d中的坐标系和UIkit中的坐标系不一致, 绘制出来的文字是颠倒的, 而且通过C语言的方法绘制文字相当麻烦// CGContextSelectFont(<#CGContextRef c#>, <#const char *name#>, <#CGFloat size#>, <#CGTextEncoding textEncoding#>)// CGContextShowText(ctx, <#const char *string#>, <#size_t length#>)// 绘制矩形// 1.获取上下文CGContextRef ctx = UIGraphicsGetCurrentContext();// 2.绘图CGContextAddRect(ctx, CGRectMake(50, 50, 100, 100));// 3.渲染 CGContextStrokePath(ctx);// NSMutableDictionary *md = [NSMutableDictionary dictionary]; // // 设置文字颜色 // md[NSForegroundColorAttributeName] =[UIColor redColor]; // // 设置文字背景颜色 // md[NSBackgroundColorAttributeName] = [UIColor greenColor]; // // 设置文字大小 // md[NSFontAttributeName] = [UIFont systemFontOfSize:20];// 将文字绘制到指点的位置// [str drawAtPoint:CGPointMake(10, 10) withAttributes:md];// 将文字绘制到指定的范围内, 如果一行装不下会自动换行, 当文字超出范围后就不显示[str drawInRect:CGRectMake(50, 50, 100, 100) withAttributes:nil]; }@end
效果:
二、图片
代码1:
// // YYimage.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // Copyright (c) 2014年 itcast. All rights reserved. // #import "YYimage.h"@implementation YYimage- (void)drawRect:(CGRect)rect {// 1.加载图片到内存中UIImage *image = [UIImage imageNamed:@"me"];// 利用drawAsPatternInRec方法绘制图片到layer, 是通过平铺原有图片[image drawAsPatternInRect:CGRectMake(0, 0, 320, 480)]; }@end
效果(平铺):
代码2:
#import "YYimage.h"@implementation YYimage- (void)drawRect:(CGRect)rect {// 1.加载图片到内存中UIImage *image = [UIImage imageNamed:@"me"];// 利用OC方法将图片绘制到layer上// 利用drawInRect方法绘制图片到layer, 是通过拉伸原有图片[image drawInRect:CGRectMake(0, 0, 200, 200)];// 利用drawAsPatternInRec方法绘制图片到layer, 是通过平铺原有图片 // [image drawAsPatternInRect:CGRectMake(0, 0, 320, 480)]; }@end
效果(拉伸图片):
代码3:
// // YYimage.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // Copyright (c) 2014年 itcast. All rights reserved. // #import "YYimage.h"@implementation YYimage- (void)drawRect:(CGRect)rect {// 1.加载图片到内存中UIImage *image = [UIImage imageNamed:@"me"];// 利用OC方法将图片绘制到layer上// 将图片绘制到指定的位置[image drawAtPoint:CGPointMake(100, 100)];}
效果(把图片绘制到一个固定的位置):
转载于:https://www.cnblogs.com/yipingios/p/5556764.html
iOS开发UI篇—Quartz2D简单使用(二)相关推荐
- iOS开发UI篇—Quartz2D使用(绘图路径)
iOS开发UI篇-Quartz2D使用(绘图路径) 一.绘图路径 A.简单说明 在画线的时候,方法的内部默认创建一个path.它把路径都放到了path里面去. 1.创建路径 cgmutablepat ...
- iOS开发UI篇—Quartz2D使用(信纸条纹)
iOS开发UI篇-Quartz2D使用(信纸条纹) 一.前导程序 新建一个项目,在主控制器文件中实现以下几行代码,就能轻松的完成图片在视图中的平铺. 1 #import "YYViewCon ...
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇-Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- iOS开发UI篇—Quartz2D使用(绘制基本图形)
一.简单说明 图形上下文(Graphics Context):是一个CGContextRef类型的数据 图形上下文的作用:保存绘图信息.绘图状态 决定绘制的输出目标(绘制到什么地方去?)(输出目标可以 ...
- 文顶顶 iOS开发UI篇—UITabBarController简单介绍 iOS开发UI篇—UITabBarController简单介绍...
一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例 ...
- iOS开发UI篇—Quartz2D使用(矩阵操作)
一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: 1 - (void)drawRect:(CGRect)rect 2 { 3 //画四边形 4 //获取图 ...
- android tableview实现多选功能,iOS开发UI篇-tableView在编辑状态下的批量操作(多选)...
先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @pr ...
最新文章
- 主成分分析(PCA) C++ 实现
- php 清空cache,到底如何清除 cache? 我真的快瘋了
- 如何在require中使用VUE
- SharePoint 开发TimerJob 介绍
- linux uuid/uuid.h
- docker集群管理工具_太多选择:如何选择正确的工具来管理Docker集群
- Nodejs 了解web服务器
- 仿网易/QQ空间视频列表滚动连播炫酷效果
- Php 安装 zend_loader,在Linux系统中为PHP5.x安装Zend Guard Loader
- 有关两个jar包中包含完全相同的包名和类名的加载问题
- 计算机耗材设备管理系统,云南省审计厅计算机耗材管理系统分析与设计
- android studio 软件使用 详细说明
- 车间图纸管理软件-车间无纸化管理解决方案
- 真值表-Python实现
- 如何配置 SSH 免密码登录
- java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解
- 专转本计算机必背知识点,江苏专转本计算机必考重点(精华版).doc
- CHB-STATCOM 整体仿真模型 低电容下 CHB-STATCOM 直流侧电容电压的平衡控制
- 把一切看淡,心就不累了
- LTE峰值1Gbps传输速率之路
热门文章
- xhtml html
- 配置Hibernate二级缓存步骤
- java模拟记事本的一些功能
- 战网下载CDN重定向失败_卧槽,又开源一个下载神器,利用各种平台下载任意文件...
- 十字路口待转区什么用_左转待转区,到底怎样掉头?
- (2)ZYNQ FPGA加载比特流(FPGA不积跬步101)
- 12020.硬件电路
- 2.c++模式设计-工厂模式
- leecode-11盛最多水的容器C版-双指针的使用
- pulsar 容量_[Apache Pulsar] 企业级分布式消息系统-Pulsar入门基础