使用用户定义的运行时属性旋转(angular度)UIView

是否有可能旋转UIView或UIImageView,10或15度,

实际上使用用户定义的运行时属性?

还是只能在代码中完成?

(注意:为了谷歌,我提到了“angular度”和“度数”,可能会因为设备方向的改变而产生“旋转”的混淆)


或者,你可能以这样的方式子类化 UIView,用户定义的运行时属性将被暴露,这是什么? (我生锈了/)

您可以使用UIView对象的layer.transform.rotation.z关键path。
值必须以弧度设置:

在这里输入图像说明

结果:

在这里输入图像说明

所有转换关键path都在Apple文档中介绍。

在扩展到这个答案如何访问“发件人”对象的用户定义的运行时属性? ,您可以检索运行时值作为度数的NSNumber,然后执行旋转。 当您想要旋转发生时触发界面生成器中的IBAction

 #define RADIANS(degrees) ((degrees * M_PI) / 180.0) @interface RTFRotatingView : UIView @end @implementation RTFRotatingView - (IBAction)performRotation:(UIControl *)sender { if ([sender respondsToSelector:@selector(keyName)]) { NSNumber *degrees = [sender valueForKey:@"keyName"]; CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(degrees.doubleValue)); self.transform = rotateTransform; } } @end