8

iOS 8 には問題または機能があります。MPVolumeView が表示されると、0 からその幅に拡張するようにアニメーション化されます。どうすればその動作を修正できますか? iOS 7 ではそのような問題はありませんでした。

4

2 に答える 2

2

この動作を取り除く 1 つの可能な方法は、MPVolumeView をサブクラス化し、後でいくつかの追加作業を実行すること[super layoutSubviews]です。

- (void)layoutSubviews
{
    [super layoutSubviews];

    [self cg_recursiveRemoveAnimationsOnView:self];
}

- (void)cg_recursiveRemoveAnimationsOnView:(UIView *)view
{
    [view.layer removeAllAnimations];
    for (UIView *subview in view.subviews) {
        [self cg_recursiveRemoveAnimationsOnView:subview];
    }
}

これにより、挿入されたすべてのアニメーションが削除されます。これはかなりやり過ぎなので、それがあなたが望むものであることを確認してください。positionとのboundsアニメーションを削除することもできます(「 」を参照removeAnimationForKey:)。

于 2015-04-10T13:11:26.073 に答える