是否可以使用用户定义的运行时属性旋转UIView或UIImageView,比如10或15度?
实际上可以使用用户定义的运行时属性吗?还是只能在代码中完成?
(注意... 我提到“角度”和“度数”是为了方便谷歌搜索;它可能会与设备方向变化的“旋转”概念混淆。)
或者您可以通过子类化UIView的方式,使得一个用户定义的运行时属性被公开,可以完成这个功能?(我有点生疏 :/)
是否可以使用用户定义的运行时属性旋转UIView或UIImageView,比如10或15度?
实际上可以使用用户定义的运行时属性吗?还是只能在代码中完成?
(注意... 我提到“角度”和“度数”是为了方便谷歌搜索;它可能会与设备方向变化的“旋转”概念混淆。)
或者您可以通过子类化UIView的方式,使得一个用户定义的运行时属性被公开,可以完成这个功能?(我有点生疏 :/)
除了这个答案如何从“sender”对象访问用户定义的运行时属性?,你可以将运行时值作为度数的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
10
,作为用户定义的运行时属性。然后,通过对 UIView
进行子类化,您可以检索该值并执行旋转操作。 - max_