首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS学习——Quartz2D学习之UIKit绘制

setNeedsDisplay和setNeedsDisplayInRect:方法是设置视图或者视图部分区域是否需要重新绘制,setNeedsDisplay是重新绘制整个视图,setNeedsDisplayInRect...3、文本绘制 先创建好要画的文字 使用UIKit提供的方法进行绘制,drawAtPoint:要画到哪个位置 withAttributes:文本的样式....通过绘制方法的最后一个属性withAttributes来设置文字属性,它要求传入的是一个字典.它是通过字典的key和Value的形式来设置文字样式.。...在前面我们学会了如何在自定义view中绘制文本信息,其实绘制图片的方法绘制文本的方法非常类似,所以基本步骤如下: 导入素材 在DrawRect加载图片  UIImage *image = [UIImage...drawInRect:(CGRect *)rect:在指定的rect区域内绘制整张图片,图片会按照指定区域的宽高进行缩放,所以这种方式一定可以显示完整的图片,但是会进行一些缩放。

1.5K20

Quartz2D复习(一)--- 基础知识 绘制线段圆弧 图片水印 截图

/矩形/圆和弧)、绘制文字、绘制和生成图片、读取/生成pdf、截图/裁剪图片、自定义UI控件等 3、对于界面复杂且个性化的UI,普通的UI控件无法实现,而Quartz2D技术却可以通过自定义UI控件来实现...其实,ios中大部分控件的内容都是通过Quart2D画出来的 4、图形上下文(GraphicsContext): 是一个CGContextRef类型的数据      图形上下文的作用:1)保存绘制信息、...绘图状态;                               2)决定绘制的输出目标(绘制到什么地方去:可以是pdf文件、图片或显示器的窗口上)      相同的一套绘图序列,指定不同的GraphicsContext...) drawRect: (CGRect)rect;  方法,然后在这个方法中,可以去的跟当前view相关联的图形上下文; 绘制相应的图形内容(绘制时产生的线条称为路径,路径由一个或多个线段或曲线段组成)...;利用图形上下文将绘制的所有内容渲染显示到view上面    为什么要实现drawRect: 方法才能绘图到view上?

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UI篇-CATextLayer和 富文本的交融

    前言 CATextLayer适用于IOS或者MAC,比UIlablel 和 NSTextView 能做的事很多,可以这样说UIlablel是通过CATextLayer实现的,身为CALayer的三大子类之一...波浪.gif 这里只提供思路 具体代码地址 富文本AttributedString AttributedString可以分为NSAttributedString和NSMutableAttributedString...,取值为 NSString 对象,目前只有图版印刷效果可用: //NSAttachmentAttributeName NSTextAttachment 设置文本附件,常用插入图片 //NSLinkAttributeName...//NSLineBreakByTruncatingTail, //按照"文字……文字"显示 //NSLineBreakByTruncatingMiddle //按照"文字……"显示 [paragraphStyle...initWithString:_textV.text attributes:attributes]; _textV.textColor = [UIColor whiteColor]; 值得注意的地方是 drawAtPoint

    2.6K10

    CAD2007操作教程下

    通过将对象分类放到各自的图层中,可以快速有效地控制对象的显示以及其进行更改。...“文字高度”文本框:用于设置标注文字的高度。 “绘制文本边框”复选框:用于设置是否给标注文字加边框。 2、文字位置:可以设置文字的垂直、水平位置以及距尺寸线的偏移量。...如何将单个视口变成四个视口方法 视口工具栏 中点击显示“视口”对话框 ,选四个相等视图,改为三维,在左上角为俯视图,右上角为主视图(前视图),左下角为左视图,右下角为--—等轴测。...A、选择“绘图”---“实体”----“长方体”命令(BOX),或在“实体”工具栏中单击“长方体”按钮,都可以绘制长方体,此时命令行显示如下提示。...B、选择“绘图”---“实体”----“楔体”命令(WEDGE),或在“实体”工具栏中单击“楔体”按钮,都可以绘制楔体。

    8.6K30

    UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

    @property (nonatomic, readonly, getter=isLoading) BOOL loading; 7.设置是否缩放到适合屏幕大小 UIWebView可以缩放HTML页面来适配其视口大小...,从而达到整屏显示内容的效果,并且用户可以用捏合动作来放大或缩小页面来查看内容。...默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域的内容...return 10;" " }" " login();"; 三、代理方法 UIWebViewDelegate 1.每当webView发送一个请求之前都会先调用这个方法,监听准备加载内容时调用,通过判断请求等参数来返回不同返回值判断是否加载该网页...:@"document.documentElement.style.webkitTouchCallout='none';"]; - -webkit-user-select 控制用户是否可以选择页面元素内容

    1.5K60

    Jekyll-Admin-Mac-模板处理

    这里的闭包是否也需要解决循环引用,但是这个方法是属于方法闭包,理论上不存在循环引用的,我也不是很清楚。...然后,可以以比显式显示视图内容更有效的方式来操纵缓存的内容。AppKit会自动创建底层图层对象(使用该方法)并处理视图内容的缓存。如果该方法返回,则不应直接与底层对象进行交互。...我们替换成 NSButton之后似乎又遇到了另外的棘手的问题,那就是 NSButton竟然没有地方可以设置 title的颜色。...如何设置 NSButton标题的颜色 NSButton how to color the text。 纵观网上的教程大都是设置按钮的富文本或者是 NSMutableParagraphStyle。...但是 NSMutableParagraphStyle这个不太靠谱,我觉得我们设置富文本比较好一些。 设置 NSButton的分类用于设置分文本字体的颜色。

    6.8K30

    iOS UILabe及UIFont用法总结 原

    NSLineBreakByCharWrapping,    //简单线性处理    NSLineBreakByClipping,    //丢失的开头用省略号表示    NSLineBreakByTruncatingHead,    //丢失的文本在末尾显示省略号...   NSLineBreakByTruncatingTail,    //丢失的文本在中间显示省略号    NSLineBreakByTruncatingMiddle };typedef NSUInteger...=NO; 是否有效,默认是YES,无效为灰色 label.enabled=NO; 显示的行数,0为无限 @property(nonatomic) NSInteger numberOfLines; 宽度自适应大小... 默认的    UIBaselineAdjustmentNone,} UIBaselineAdjustment; 返回文本绘制矩形 - (CGRect)textRectForBounds:(CGRect...)bounds limitedToNumberOfLines:(NSInteger)numberOfLines; 文本绘制函数 - (void)drawTextInRect:(CGRect)rect 文本自动布局参数

    1K30

    积木Sketch插件进阶开发指南

    进阶开发主要涉及如何切换业务方数据,即选择所属业务方后,对应的组件、颜色等设计素材切换为当前业务方在物料市场中上传的元素;将承载组件库的Library文件转化为插件可以识别的格式,并在插件上展示,以供设计师在绘制设计稿时选择使用...Symbol缩略图处理 WebView默认是不支持直接显示Symbol供用户拖拽使用的,解决该问题的方案有两种: 通过dump分析Sketch的头文件发现,可以采用MSSymbolPreviewGenerator...一个产品设计师说过,最早的产品仅依靠功能就可以在竞品中脱颖而出,能不能用就成为了一个产品是否合格的标准。...至NSStackView中 toolbar.addView_inGravity(button, inGravityType); 动效调整 NSButton内置的点击效果大约15种,可以通过NSBezelStyle...替换文本 基于class-dump,我们可以找出Sketch中声明的所有类的属性和方法,文本处理的策略是,找到图层中的所有MSAvailableOverride对象,这些对象即表示可用的覆盖项,对文本信息的修改实际上是通过修改

    1.5K20

    绘图-iOS在OC项目中集成Charts绘制图表框架

    你可以通过两种方式集成进你的项目中: 下载后手动添加 (本文主讲) Cocopods的方式集成 Charts下载地址 注意一下使用条件:值得注意的是工程的 Tagerts 最低设置 8.0 ?...复制Charts整个文件到ImportChartsDemo工程中 就是把上图中解压后的文件(剔除红色框中的文件,当然也可以剔除其他一些没有用的文件,由于我没有剔除多余的文件,并最终集成成功,所以就暂时视除了红框内的文件都需要...ChartDataEntry *)entry highlight:(ChartHighlight *)highlight { if (self.pushNextDept) { //是否可以跳转...组装数据 - (void)setData { NSMutableArray *yVals = [[NSMutableArray alloc] init]; //点击柱状图上弹框显示的具体分段文本值...stringForValue(entry.x, axis: nil) + allMarkText) } ---- 详细的使用中的参数设置可以参考如下两篇文章: iOS使用Charts框架绘制—柱形图

    7.1K62

    【IOS开发基础系列】UITextView专题

    sizeToFit动态计算TextView高度 strongSelf.attributedText = supportAttributeStr; [strongSelf sizeToFit]; 1.1.3 显示...boundingRectWithSize: options: attributes: context:计算文本尺寸 boundingRectWithSize:options:context:  返回文本绘制所占据的矩形空间...最终,该对象包含的信息将用于文本绘制。该参数可为 nil 。 返回值         一个矩形,大小等于文本绘制完将占据的宽和高。 讨论         可以使用该方法计算文本绘制所需的空间。...size 参数是一个constraint,用于在绘制文本时作为参考。但是,如果绘制完整个文本需要更大的空间,则返回的矩形大小可能比 size更大。...一般,绘制时会采用constraint 提供的宽度,但高度则会根据需要而定。 特殊情况         为了计算文本块的大小,该方法采用默认基线。

    44340

    iOS微信特殊字符保护方案

    前言 相信大家都遇到过一段特殊文本可以让iOS设备所有app闪退的经历。前段时间大年初一,又出现某个印度语字符引起iOS11系统奔溃。所幸微信客户端做了保护并没有引起太大问题。...另外后台可以拦截恶意文本传递,但对于本地已下发的消息,后台没有办法让它删除。所以客户端还是要做些保护预防特殊字符闪退。...方案 由于无法事先知道字符串里包含特殊字符,所以只能先让它排版/绘制,看看是否出现问题。...做法是,在排版/绘制字符串前,先设置标记位,排版/绘制结束后,移除标记位;一旦发现标记位存在,就意味着这字符串可能有问题,下次就不显示这个字符串: ?...这里有几个问题: 有可能在排版/绘制过程中,其它线程crash,导致标记位不能正常移除。所以crash时要判断crash线程是否为排版/绘制线程。 究竟crash多少次才能判断这字符串是有问题的。

    3.9K140

    iOS UITextField详解

    //设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动 textFied.adjustsFontSizeToFitWidth = YES; //设置自动缩小显示的最小字体大小...除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。...这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。...– textRectForBounds:   //重写来重置文字区域 – drawTextInRect:   //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数...super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了. – borderRectForBounds:   //重写来重置边缘区域 – editingRectForBounds

    1.8K30

    强大的高颜值iOS图表框架AAChartKit,支持柱状图、条形图、折线图、曲线图...

    [AAChartKit-Live.gif] 特别说明 支持通过JavaScript 函数来自定义 AATooltip视图显示效果 有时系统默认的 tooltip 浮动提示框的显示效果无法满足使用者的特殊自定义要求...,此时可以通过添加 AATooltip 的 headerFormat 和 pointFormat字符串属性来自定义浮动提示框的显示内容,如仍旧不能满足需求,更可以通过 AATooltip 的 formatter.../标题字体粗细 AAPropStatementAndPropSetFuncStatement(copy, AAChartModel, NSString *, subtitle) //副标题文本内容...,默认为否 AAPropStatementAndPropSetFuncStatement(assign, AAChartModel, BOOL, dataLabelEnabled) //是否显示数据...(是否连接空值点) AAPropStatementAndPropSetFuncStatement(assign, AAChartModel, BOOL, legendEnabled) //是否显示图例

    5.5K11

    图文混排

    它良好的结合了 UIKit 和 Core Graphics/Quartz: UIKit 的 UILabel 允许你通过在 IB 中简单的拖曳添加文本,但你不能改变文本的颜色和其中的单词。...二、CoreText CoreText绘制的流程图 CFAttributedStringRef :属性字符串,用于存储需要绘制的文字字符和字符属性 CTFramesetterRef:通过CFAttributedStringRef...,但是我们可以先在需要显示图片的地方用一个特殊的空白占位符代替,同时设置该字体的CTRunDelegate信息为要显示的图片的宽度和高度,这样绘制文字的时候就会先把图片的位置留出来,再在drawRect...如果你需要定义一个很复杂形状的区域来显示文本,你可能需要创建NSTextContainer子类。 每个文本视图定义了一个文本可以绘制的区域。...5、UITextView UITextView作为显示出来的实际的文本视图,在 TextKit 中,文本视图有两个目的:第一,它是文本系统用来绘制的视图。

    1.5K30
    领券