1

かなり奇妙なことに気づきました。Xcode 5 のストーリーボードを使用して、非常に単純なアプリを作成します。ビューが 1 つだけのビュー コントローラー。このビューには、スライダーと 2 つの画像があります。スライダーを動かすと、一方の画像が拡大縮小され、もう一方の画像が移動します。コントロールをView Controllerに接続します

TestViewController.h:

@interface TestViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIImageView *scaleImage;
@property (weak, nonatomic) IBOutlet UIImageView *moveImage;

- (IBAction)sliderChanged:(UISlider *)sender;

@end

そして、TestViewController.m で、sliderChanged を実装します。

- (IBAction)sliderChanged:(UISlider *)sender {
    self.scaleImage.transform = CGAffineTransformMakeScale([sender value], [sender value]);

    CGRect targetFrame = self.moveImage.frame;
    targetFrame.origin = CGPointMake(targetFrame.origin.x + (100 * [sender value]) - 50, targetFrame.origin.y);
    self.moveImage.frame = targetFrame;
}

今、奇妙な部分が来ます。スライダーをドラッグすると、スケール イメージは正しくスケーリングされますが、スライダーを放す (つまり、ドラッグを停止する) まで移動イメージは移動しません。何らかの形で変換がドローコールをブロックしていますか?

4

1 に答える 1