用户操作指南变量篇
使用变量(UsingVariables)
和颜色和渐变一样,变量也是设计师能够在PaintCode文档中使用的一种库项目。
变量可以使数字、文本、布尔值(逻辑数值)、点、矩形、大小,甚至是颜色、阴影和渐变。设计师能够将变量与画布中的图形属性相连。
例如,设计师可以创建一个树枝变量为半径,并且它连接到几个圆角矩形的半角半径属性。当设计师改变半径变量,所有被连接图形的角半径都将同步更新。
通过在画布上生成绘制方法,变量会转化为方法参数。
创建变量(Creatingvariables)
在库中变量头部左边的位置,单击按钮,来创建一个新的变量。然后,选择设计师想创建的变量类型。
编辑变量(Editingvariables)
当设计师创建一个新的变量的同时,一个编辑区域也会出现。设计师在库中双击变量,能够随时进入编辑区域。
编辑区域允许设计师调整变量的属性,也许最重要的是它的值和名字。
不同的变量有不同的编辑区域。以下是矩形变量编辑区域的样子:
惯用属性影响着生成的代码,一会回来。
小窍门:设计师在没有打开变量编辑区域的时候,就能够调整大所属变量的值。只要单击并上下拖动变量的值域编辑区域就可以了。
连接变量和图形(Connectingvariabletoshapes)
有几种方法能够将变量与一些图形的属性连接。第一种,在画布中选择图形(或者几个图形),然后点击并拖动变量连接点到检查器中图形的属性上。
或者,设计师能够点击并拖动连接点直接连接到画布中的图形,然后从弹出的上下文菜单中选择想要的属性。这比第一中方法方便。但是,设计师只能用它来操作一次,用来连接一个图形的变量(相比之下,当设计师通过检查器创建连接的时候,这样能够用来连接一个变量到多个图形。)
也要注意一些属性,像贝塞尔曲线点的位置以及一些能够通过检查器链接的组属性。
连接指示按钮(Connectionindicatorbutton)
当设计师连接变量到一些属性后,在检查器中就会出现一个连接指示按钮(这个按钮替代原来属性中的文本字段)。在下面的例子中,已经链接一个变量到一个圆角矩形的角半径属性。
点击连接指示按钮,就会出现连接指示按钮编辑区域。
编辑区域允许设计师制定一个偏移值,当通过属性被使用的时候,一个值应该被加到变量的值上面。这些自定义比纳凉的偏移值可以大大减少设计师文档中创建变量的数量。此外,这个连接指示按钮也可以切换属性来使用不同的变量,如果可以的话。
断开属性的变量链接(Disconnectingavariablefromanattribute)
点击小紫色圆形中的白色叉,就能够断开属性的变量链接(这个圆形在连接指示按钮中)。
当断开变量链接,这个连接指示按钮就会消失了,并且返回原有的文字域:
使用变量控制可见性(Controllingthevisibilityofshapesusingvariables)
设计师能够使用布尔变量来控制任意图形的可见度。在图形检查器中,在名字文本域下方的一个弹出按钮中。
默认情况下,全部可见(Visibleonalldisplays)是被勾选的。只在Retina屏幕下可见(VisibleonlyonRetinadisplays)以及在非Retina屏幕下可见(VisibileonlyonnonRetinadisplays)设置也是可见的。
另外,这个弹出按钮包含了PaintCode所有的布尔变量。
在上面的例子中,PaintCode文件包含一个叫做isPressed的布尔变量。通过选择按下可见(VisibleifisPressed)选项,当按下变量是真时,PaintCode会确保图形唯一可见。
在画布上显示变量(Variablesdisplayedincanvas)
当设计师创建点或者矩形变量,并且在画布中将其与一些图形链接,变量本身也会在画布中显示,显示为紫色。
在点的情况下,它显示为能被拖动的小目标符号。点变量的值也会发生相应的变化。矩形变量也有类似的设置。
这个功能非常的有用,例如,当设计师创建一个点变量代表一个鼠标光标的时候。设计师能够基于这个变量(使用表达式),创建许多变量。,并通过移动指针变量,设计师能够轻松的测试产生的行为。
使用画布显示变量菜单(CanvasShowVariablesmenu),可将这个功能开启或者关闭。
变量和代码生成(Variablesandcodegeneration)
通过在画布上绘制方法,变量会转化为参数:
(void)drawRateButtonWithRadius:(CGFloat)radiustitle:(NSString)titlepressed:(BOOL)pressed;
除非,当然,设计师选择的变量在它的编辑区域中表现为一个局部变量。注意,表达式变量总是局部变量。
表达式(Expressions)
PaintCode允许设计师创造另一种特殊变量表达式。这些变量能够使用数学和编程表达式来定义值。它们依赖其他变量,甚至是其他库项目,比如颜色。
PaintCode中有一些基本的简短的编程语言。这些具有C以及JavaScript的子集,并且方便使用。使用表达式变量,设计师能够创建复杂的、动态的设计,甚至是游戏动画角色。
当在表达式的部分中显示橙色背景,这意味着这里有一些错误。点击表达式部分的橙色,或者在编辑区域的左下角点击警告三角形来显示错误信息。
表达式不仅限于数字,还能够运用逻辑运算,比如:?。C语言的三元算子,甚至是创建一个库中的参考颜色。
重点:对库项目来说这是合法的,就像颜色在其名字中有空白一样。然而,当设计师想再表达式中通过名字指向库项目的时候,设计师必须删除这些空白,大写每个单词首字母,但要小写第一个字母。例如,如果在库中有一个名为MyRedColor的项目,在表达式中,设计师能够这样使用:myRedColor。
想学习PaintCode的表达式,请阅读下一章节。
表达式(ExpressionLanguage)
在PaintCode中,设计师能够通过使用简单语法来定义基于其他变量的变量。这支持很多数学的、逻辑函数和控制符,这是大多数开发人员希望的。语法简单,均为C和JavaScript的子集。
刚创建了一个语法的新变量,并且在一个语法中使用了文本视图。新变量的值将被计算和自动更新。
当设计师导出PaintCode文档后,这些变量语法将转化为设计师所选择的编程语言(ObjectiveC,Swift或C)。计算变量、动态关系与定义的变量之间,在导出代码中持续的工作。
变量类型(Typesofvariables)
数字(Numbers)
在PaintCode中所有的数字都是浮点。这种表达式返回数字:
5:hr5432
在表达式中,设计师能够方便地参考其他变量。语法中也包含一些设计师能够调用的在建函数:
width(4offset)
sin(2。7PI180)
sqrt(widthwidthheigtheight)
文本(Texts)
文本变量是没有长度限制的字符串。设计师能够使用双精度或者单精度字符串:
Thisistext!
‘Thisisalsotext,nowusingsinglequotes。’
可以使用运算符链接文本。使用stringFromNumber(x)方法,能够将数字转换为文本。
angle:stringFromNumber(180)
设计师可以使用点记法,得到文本的长度(字母的数量)。这会返回数字。
Hello。length
布尔值(Booleans)
布尔变量表示逻辑值的真假。也可以用来代表YES,yes,NO,no。
比较的结果总是返回布尔值。举例:
true
3amp;gt;2
hello!world
mousePosition。xamp;gt;activeRect。xamp;amp;amp;amp;
mousePosition。yamp;gt;activeRect。yamp;amp;amp;amp;
mousePosition。xamp;lt;activeRect。xactiveRect。widthamp;amp;amp;amp;
mousePosition。yamp;lt;activeRect。yactiveRect。height
设计师可以使用三元算子:?运算,返回两个值当中的一个,这取决于第一个参数的值。第二个喝第三个参数必须保持享用的类型(在这种情况下,文本):
isValid?Valid:Invalid
点(Point)
使用makePoint(x,y)函数创建新的点:
makePoint(10,20)
假设设计师有一个点变量(称为myPosition),想使用表达式中点的x坐标。像这样:
myPosition。x100
如何计算在A与B两点中间的点:
makePoint((positionA。xpositionB。x)2,
(positionA。ypositionB。y)2)
大小(Size)
与点类似,也包含两个数字,但是代表的是宽和高,主要的目的是表示矩形大小。
makeSize(10,20)
假设设计师已经定义了一个变量为defaultSize的大小变量以及数字区域,现在要通过因子区域扩大宽度:
makeSize(zoomdefaultSize。width,defaultSize。height)
矩形(Rectangle)
矩形变量包含四个数字:x轴,y轴,宽,高。有一个叫makeRect(x,y,width,height)的函数来创建一个矩形的值。宽度和高度表示矩形的大小,(x,y)表示矩形的起点坐标。
makeRect(0,0,640,1136)
假设设计师已经创建了一个叫iPhoneBounds的矩形。设计师不仅可以轻松访问每个单独的值,还能够得到矩形的大小以及起点坐标:
iphoneBounds。size
下面两个表达式是等价的:
iphoneBounds。origin。xiphoneBounds。size。width
iphoneBounds。xiphoneBounds。width
颜色(Color)
颜色由四位数字表示:红色,绿色,蓝色和alpha通道。每个数字间隔为1。使用makeColor函数创建颜色。下表的表达式将得到一个纯黄色:
makeColor(1,1,0,1)
颜色在库中定义,并且能够在表达式中使用(例如,基于是否按下按钮得到两红颜色)。然而,当在表达式中参考颜色(像其他库项目中的渐变和阴影)的时候要注意,它们可以有任意的名称,但是名称的变量是有限制的:
只允许使用英文字符,数字以及下划线
只能以消协字母作为变量的开始
颜色名称可以包含空格,口音以及符号(例如,对话框的背景颜色),但是当在脚本中使用的时候,需要将它们删除(snanitized),例如:
原有以及删除后的库项目标识符实例:
渐变(Gradient)
使用makeGradient(color1,color2)函数创建渐变。由红色到透明的渐变能够这样定义:
makeGradient(makeColor(1,0,0,1),
makeColor(1,0,0,0))
或者,如果设计师已经有了两个颜色,可以这么做:
makeGradient(solidRedColor,transparentRedColor)
阴影(Shdow)
使用makeShadow(color,offsetX,offsetY,blur)函数创建阴影。
makeShadow(solidRedColor,5,5,3)
运算符(Operators)
运算符的优先级:
常数(Constants)
布尔常量(Booleanconstants):yes,no,true,false,YES,NO
数字常量(numericconstant):PI
颜色常量(colorconstant):MISSINGCOLOR
渐变常量(gradientconstant):MISSINGGRADIENT
阴影常量(shadowconstant):MISSINGSHADOW
图片常量(imageconstant):MISSINGIMAGE
基本数学函数(BasicMathFunctions)
floor(x)
返回x的下方
ceil(x)
返回x的上方
round(x)
得到x最接近的整数
frac(x)
得到x的小数部分
sqrt(x)
得到x的平方根
abs(x)
得到x的绝对值
min(x,y)
得到较小的两个参数
max(x,y)
得到较大的两个参数
侧角函数(GoniometricFunctions)
sin(a),cos(a),tan(a)
goniometricfunctions。
注:参数标有刻度
atan2(y,x)
基于这两个值来确定正确的YX象限圆弧切线
颜色,渐变和阴影(Colors,gradientsandshadows)
makeColor(r,g,b,a)
得到颜色坐标以及alpha值。所有参数从0或1开始
makeGradient(c1,c2)
得到渐变
makeShadow(color,xOffset,yOffset,blurRadius)
得到阴影
其他函数(OtherFunctions)
makePoint(x,y)
得到点
makeSize(width,height)
得到大小
makeRect(x,y,width,height)
得到举行起点坐标以及大小(宽、高)
stringFromNumber(x)
把数字x转化为文本
PaintCode用户操作指南系列文章
PaintCode用户操作指南(概述篇)
PaintCode用户操作指南(库篇)
PaintCode用户操作指南(绘制篇)
PaintCode用户操作指南(画布和选项卡)
PaintCode用户操作指南(样式表和代码生成)
PaintCode用户操作指南(变量篇)
PaintCode用户操作指南(动态图形篇)
PaintCode用户操作指南(符号篇)
文章已经完结,敬请期待下一部《Sketch3用户操作指南及实战案例全解》
跳绳减肥快还是跑步呢任何的时候大家走到大街上,都可以看到很多的身材偏胖的人群。其实,肥胖在现在这个年代不是美丽的表现,而且大家也知道肥胖是不利于身体健康的。尤其是比较重视身材的人,更是想要尽力的减……
如何抵御一切想把你磨平的力量如何能让自己坚守本真的内心不动摇,如何抵御外来一切想把你磨平的力量?我想,那只有坚持的信仰,当最大的力量与最长的时间成为最强势的依靠,在历经痛苦的对抗与不被理解与寂寞孤单的侵蚀……
读马克吐温汤姆索亚历险记有感三篇读《汤姆索亚历险记》有感(一)《汤姆索亚历险记》是美国作家马克吐温写的一部长篇小说,这本书,为我们讲述了一个名叫汤姆索亚的小男孩的经历。汤姆是一个爱冒险的小男孩,他……
女生自然卷短发发型诠释别样时尚潮流拥有自然卷发的女生不用因为发质而烦恼,其实拥有自然卷是一种幸运,在烫发时只要轻微烫卷就很时尚。而且由于天生的优势,轻轻松松就能打造出蓬松的效果。自然卷女生还是可以尝试剪短发的,……
适合懒人的扎发发型这几款扎发简单易学又洋气留着长发的女生,很适合扎头发,但有的女生觉得扎头发太麻烦太浪费时间,比较懒得扎头发。以下这几款扎发发型,非常适合懒人,手把手教你扎发步骤,几分钟就能扎好哦。1。双层马尾辫……
炉口的煤渣煤渣刚离开炉口,身上还散发着热气,这时,近旁一块废铁冷冰冰地说道:哟,你就是埋藏亿万年,曾被称做‘乌金’的角色?是的。煤渣坦然答道。据我所知,不久前,你还在炉……
王献之依缸习字晋代书法家王献之是王羲之的儿子,自小跟父亲学写字。有一次,他要父亲传授习字的秘诀,王羲之没有正面回答,而是指着院里的十八口水缸说:秘诀就在这些水缸中,你把这些水缸中的水写完就知……
一次性纯棉内裤可以反复使用吗一次性内裤怎么挑选一次性纯棉内裤可以反复使用吗不可以,一次性内裤就是一次性使用,所以在使用之后丢了就好。这种内裤的材料和杀菌工艺都只能保障一次性使用,多次反复使用,对于人体安全和健康都没有……
芙丽芳丝洗面奶什么味道椰奶混合肥皂水芙丽芳丝洗面奶什么味道芙丽芳丝洗面奶味道是比较奇怪的一种,有点淘米水的味道也有一点椰奶味,类似婴儿的温柔感,但是绝对不能称之为好闻的香喷喷的感觉,如果买到手的芙丽丝芳洗面……
卸妆油好用不卸妆油的用法fancl卸妆油好用不FANCL卸妆油全称,FANCL无添加纳米卸妆油,主打超强卸妆力和高保湿。卸妆时能保留肌肤天然保湿因子,防止皮肤干燥。而且使用感不油不腻,卸妆后肌肤……
导购宝导购宝怎么使用店铺工具导购宝功能详解双11已经圆满的过去,各大商家赚得钵满盆满。眨眼又到了双12,以及年底的促销。各种促销方式真的是琳琅满目,有满就减的,有送红包的,优惠券的,也有多买多便宜的。当然,要想不费力的……
淘宝问大家的删除方式淘宝问大家的可以删除吗?淘宝问大家怎么删除?特别是针对一些对店铺有负面影响的问题和回答,就想要把问大家的问题删除,小编来告诉你,淘宝问大家怎么删除?淘宝的问大家功能出来有……
卖服装好做吗电商行业中服装算是比较受欢迎的产品之一了,货源多,消费群大,这些对韵电商来说都是有利的因素,那么卖服装好做吗?服装行业一直为创业投资者所关注,而在这几年里,服装产业的跨度……
普通人如何通过网络实现在家赚钱2020年1月份的时候,在网上看到一则新闻说,【2020年底前全面取消事业编制,32种事业工种打破铁饭碗】这件事情,在我们这个IT圈里还引起了大家的一些讨论。本想着考个公务员来……
千古绝对惊叹千年馆友雅荷淡香:你好!你的馆藏文章千古绝对,惊叹千年!深受广大馆友的喜爱,于2017年9月2日进入阅览室频道的文化下汉语对联类别的精华区。360doc代表全体馆友感谢你的辛……
盘点年逝世的十大人物谢谢你们如星有人说2018年是失去的一年崇拜的大侠仙去熟悉的媒体人去世改变世界的科学家离开他们挥挥手告别了人生这趟旅行我们仿佛站在时间的另一端……
杨贵妃为什么没能当成皇后唐玄宗到底在怕什么杨贵妃是历史上少有的贵妃比皇后还出名的人,而且还被当做古代四大美女之一。不过杨贵妃一生最大的遗憾可能就是没能当上皇后。唐玄宗非常喜欢杨贵妃,为什么就不能让她当皇后呢?其实这中间……
祝融的火与火德星君的火哪个更厉害两人的火有什么区我们都知道,我国古代神话传说中的火神是祝融,祖巫之一,诅巫可是由盘古大神的肉体化身而来的,所以这后台可是相当强大的。而火德星君是南方的火神,是汉文化民间信仰之一。那么这两位同时……
适合新生宝宝的益智游戏新爸妈训练新生儿益智的游戏有哪些?飘动的丝带将几条不同颜色的彩带组成一束,挂在离孩子眼睛30厘米的一侧,最好挂职在窗户附近,让微风将丝带吹舞起来,或者在丝带旁用电风……
性爱时女性最敏感的部位女性的四点(阴核、阴道与两个乳头)触感都很敏锐。若同时施与适当的触感刺激,很容易就能获取高潮。对这些女性而言,这是一项难得的天赋。阴核的唯一生理机能是感受性触觉,引起性交……
长寿老人们爱吃的种食物1、大米又名粳米,味甘性平,具有补中益气、健脾和胃、除烦渴的功效。冬天室内暖气较热,空气干燥,早晚喝点大米粥,可以远离口干舌燥的困扰。特别需要提醒糖尿病患者的是,大米不同……
返还彩礼的司法解释关于结婚彩礼的退回,最高人民法院发布的《关于婚姻法的司法解释二》第十条明文规定:当事人请求返还按照习俗给付的彩礼的,如果查明情形,人民法院应当予以支持。关于结婚彩礼的退回……
结婚纪念日简单一句话结婚纪念日简单一句话表达自己对于另一半的感情,以及对于婚姻的祝福。赶紧去看看这些经典结婚纪念日短句吧。一、结婚纪念日简单一句话1。怪我不出众的脸,留不住你跳动的眼。……
准妈妈孕期的爱眼秘籍许多配戴隐形眼镜的女性都曾有过这样的经验:在怀孕期间,原先配戴很适合的隐形眼镜,会变得不易配戴,而且经常感觉不舒服,无法长时间配戴,甚至根本戴不上。为什么会有这种变化呢?精视力……