如何在不移动设备的情况下强制UIInterpolatingMotionEffect刷新视图?

时间:2014-08-26 18:34:20

标签: objective-c uiview motion

我为我的应用中的每个视图使用垂直和水平的UIInterpolatingMotionEffect。

_horizontalEffect = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
_verticalEffect = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];

.minimum和.maximum相对值是相对于视图的大小,每次视图大小更改时都会更改

_horizontalEffect.minimumRelativeValue = @(size.width / 10.0);
_horizontalEffect.maximumRelativeValue = @(-size.height / 10.0);
_verticalEffect.minimumRelativeValue = @(size.width / 10.0);
_verticalEffect.maximumRelativeValue = @(-size.height / 10.0);

用户可以使用UISlider 更改视图的大小。此外,他可以进行大量的视图。在没有移动设备的情况下,所有视图的中心都会发生变化。

问题是,如果设备没有移动,则视图不会根据UIInterpolatingMotionEffect进行更新,并且它们看起来不对齐。

如何在不移动设备的情况下强制UIInterpolatingMotionEffect刷新视图?

也许,我问的是错误的问题,但我真的需要一些指导。

0 个答案:

没有答案