我有5个RotorView对象(UIView的子类),每个对象都需要在不同的持续时间段进行动画/变换。每个都是我的MotorViewController类中的私有属性。
与其编写5种不同的旋转方法来处理每个对象(这与多态的观点相反),我希望能够将正确的属性传递给firstRotation,并对其进行适当的转换。
下面的代码使用self.rotorLarge (这是我当前的RotorView属性)。但是,我现在想在RotorView属性self.sample、self.air、self.waste和self.lowLoss上使用该方法。
忽略这样一个事实,即每个RotorView也都有自己的属性来处理速度(double)、旋转角度(CGFloat)和开/关(bool)。
- (void)firstRotation
{
[UIView animateWithDuration:self.motorSpeedAnimate
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
self.rotorLarge.transform = CGAffineTransformRotate(self.rotorLarge.transform, self.angle);
}
completion:^(BOOL finished) {
if (self.rotorOn) {
NSLog(@"Done.");
}
}];
}当任意的RotorView属性输入在转换后会影响特定的私有RotorView属性时,我该如何做呢?
谢谢你的帮助。
我使用的是iOS 11.3和Obj-C语言。
https://stackoverflow.com/questions/51287307
复制相似问题