0

UISlider を使用して UIView をスケーリングしようとしていますが、このアプローチでは結果が良くありません:

- (void)setScale:(float)scale {
   CGAffineTransform transform = CGAffineTransformScale(myView.transform, scale, scale);
            myView.transform = transform;

}

ありがとう

4

1 に答える 1

2

ID変換(変更なしでオブジェクトを表す)に基づいてスケールを変更する必要があります。このコードは機能します:

- (void)sliderDidChangeValue:(id)sender
{
    // the slider
    UISlider *slider = sender;

    // get your view or use the ivar if you have it in one
    UIView *view = [self.view viewWithTag:12];

    CGAffineTransform transform = CGAffineTransformScale(CGAffineTransformIdentity, slider.value, slider.value);
    view.transform = transform;
}

ビューがフルサイズで開始している場合は、スライダーを作成するときに値を1から開始することをお勧めします。

于 2012-06-04T17:37:55.317 に答える