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简单使用(二)相关推荐

  1. iOS开发UI篇—Quartz2D使用(绘图路径)

    iOS开发UI篇-Quartz2D使用(绘图路径) 一.绘图路径 A.简单说明 在画线的时候,方法的内部默认创建一个path.它把路径都放到了path里面去. 1.创建路径  cgmutablepat ...

  2. iOS开发UI篇—Quartz2D使用(信纸条纹)

    iOS开发UI篇-Quartz2D使用(信纸条纹) 一.前导程序 新建一个项目,在主控制器文件中实现以下几行代码,就能轻松的完成图片在视图中的平铺. 1 #import "YYViewCon ...

  3. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

  4. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  5. iOS开发UI篇—Modal简单介绍

    iOS开发UI篇-Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...

  6. iOS开发UI篇—Quartz2D使用(绘制基本图形)

    一.简单说明 图形上下文(Graphics Context):是一个CGContextRef类型的数据 图形上下文的作用:保存绘图信息.绘图状态 决定绘制的输出目标(绘制到什么地方去?)(输出目标可以 ...

  7. 文顶顶 iOS开发UI篇—UITabBarController简单介绍 iOS开发UI篇—UITabBarController简单介绍...

    一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例 ...

  8. iOS开发UI篇—Quartz2D使用(矩阵操作)

    一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: 1 - (void)drawRect:(CGRect)rect 2 { 3 //画四边形 4 //获取图 ...

  9. android tableview实现多选功能,iOS开发UI篇-tableView在编辑状态下的批量操作(多选)...

    先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @pr ...

最新文章

  1. 主成分分析(PCA) C++ 实现
  2. php 清空cache,到底如何清除 cache? 我真的快瘋了
  3. 如何在require中使用VUE
  4. SharePoint 开发TimerJob 介绍
  5. linux uuid/uuid.h
  6. docker集群管理工具_太多选择:如何选择正确的工具来管理Docker集群
  7. Nodejs 了解web服务器
  8. 仿网易/QQ空间视频列表滚动连播炫酷效果
  9. Php 安装 zend_loader,在Linux系统中为PHP5.x安装Zend Guard Loader
  10. 有关两个jar包中包含完全相同的包名和类名的加载问题
  11. 计算机耗材设备管理系统,云南省审计厅计算机耗材管理系统分析与设计
  12. android studio 软件使用 详细说明
  13. 车间图纸管理软件-车间无纸化管理解决方案
  14. 真值表-Python实现
  15. 如何配置 SSH 免密码登录
  16. java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解
  17. 专转本计算机必背知识点,江苏专转本计算机必考重点(精华版).doc
  18. CHB-STATCOM 整体仿真模型 低电容下 CHB-STATCOM 直流侧电容电压的平衡控制
  19. 把一切看淡,心就不累了
  20. LTE峰值1Gbps传输速率之路

热门文章

  1. xhtml html
  2. 配置Hibernate二级缓存步骤
  3. java模拟记事本的一些功能
  4. 战网下载CDN重定向失败_卧槽,又开源一个下载神器,利用各种平台下载任意文件...
  5. 十字路口待转区什么用_左转待转区,到底怎样掉头?
  6. (2)ZYNQ FPGA加载比特流(FPGA不积跬步101)
  7. 12020.硬件电路
  8. 2.c++模式设计-工厂模式
  9. leecode-11盛最多水的容器C版-双指针的使用
  10. pulsar 容量_[Apache Pulsar] 企业级分布式消息系统-Pulsar入门基础