你怎么能为UIButton和旋转文字UILabel?90度,180度.
注意:在将此标记为重复之前,我有意将我的问题建模为此问题的Swift版本:如何在Objective-C中为UIButton和UILabel旋转文本?
在写这个问题之前,我已经
但是,我仍然无法理解如何在图层上进行基本变换.寻找翻译,旋转和缩放的解释和简单示例一直很困难.
今天我终于决定坐下来,做一个测试项目,然后把它们搞清楚.我的答案如下.
笔记:
将多个变换应用于UIView并且它是相应的CALayer是否有任何问题?
具体来说,您是否可以"混合和匹配"CATransform3D与CGAffineTransforms而不会遇到问题?
在动画另一个变换同时动画时,是否还有直接设置变换的问题?
是否有任何"规则"应该如何做,或任何设计模式?
我有一个UIImageView我想旋转180度,占用1秒,然后我想在此位置等待1秒,然后将180度旋转回到原始位置,占用1秒。
我该如何完成?我尝试了100种方法,但它会不断回弹而不是回滚
编辑:我忘了补充,我需要这个无限期地重复
我正在使用Quartz显示文本.这是我的代码:
CGContextRef myContext = UIGraphicsGetCurrentContext();
CGContextSelectFont(myContext, "Helvetica", 12, kCGEncodingMacRoman);
CGContextSetCharacterSpacing(myContext, 8);
CGContextSetTextDrawingMode(myContext, kCGTextFillStroke);
CGContextSetRGBFillColor(myContext, 0, 0, 0, 1);
CGContextSetRGBStrokeColor(myContext, 0, 0, 0, 1);
CGContextSetTextMatrix(myContext,CGAffineTransformMake(1, 0, 0, -1, 0, 0));
CGContextShowTextAtPoint(myContext, textOrigin.x, textOrigin.y,[way.name UTF8String],[way.name length]);
Run Code Online (Sandbox Code Playgroud)
这会以正确的方向显示我的文本,但是我还需要使用向文本添加旋转CGAffineTransformMakeRotation(angle);.我似乎无法弄清楚如何将两个仿射变换应用于文本矩阵,但没有人覆盖另一个.任何帮助都会很棒.