最近端时间在做国际化,遇到不同语言中如果要使语法通顺,就必须要更改占位符对应的参数顺序
如下句子在英文的时候没有问题,但是如果是中文,参数顺序就倒过来了
1 | "Congratulations! You have got the %@ Verification on %@ %@." |
怎么[……]
最近端时间在做国际化,遇到不同语言中如果要使语法通顺,就必须要更改占位符对应的参数顺序
如下句子在英文的时候没有问题,但是如果是中文,参数顺序就倒过来了
1 | "Congratulations! You have got the %@ Verification on %@ %@." |
怎么[……]
最近一段时间在接入Twitter SDK,发现简直是超级麻烦,怕忘记,所以记录一下
准备工作
1. 首先你得能翻越长城(废话)
2. 需要在 https://apps.twitter.com注册Twitter账号,然后申请应用并拿到consumerKey 和 consumerSecret[……]
变换主要学习两种:仿射变换和3D变换
仿射变换采用3*3的二位矩阵乘法来进行变换,仿射的意义主要在于无论矩形怎么变换,平行的两条线在变换后依然平行,如图:
计算过程如下:
1 2 | = [x*a + y*c + 1*tx, x[......]<p class="read-more"><a href="https://gjh.me/305.html">继续阅读</a></p> |
1. maskToBounds不仅会切掉超出边界的部分,还会切掉阴影,要想阴影出来可以在下面再加一个透明视图,用父视图的layer来展示阴影
2. layer大多数的默认颜色都是黑色
3. 阴影的初始值是CGSize(0, -3),阴影是往上便宜三个像素的,这是由于CoreAnimati[……]
frame:在父视图或父layer中的绝对坐标,修改它将会影响显示的位置和大小
bounds:可以看做是一个内部坐标,改变它可以整体改变subViews或者subLayer的显示位置和大小
center:当前视图的中心点在父视图上的坐标位置
position:当前layer的锚点在父layer[……]