0

我正在尝试使用 UISlider 缩放 UIView 但这种方法的结果并不好:

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

}

谢谢

4

1 回答 1

2

您想根据恒等变换(表示没有任何更改的对象)更改比例。此代码有效:

- (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 回答