使用UISlider更改UIImageView高度

时间:2013-10-10 15:55:01

标签: ios objective-c uiimageview height uislider

我有2张UIImageViews,上面有一张没有颜色的温度计和一张带颜色的温度计。我想用UIImageView设置彩色UISlider动态的高度。

因此,当应用程序启动时,我只想显示没有任何颜色的温度计,当我滑动UISlider时,我希望彩色UIImageView增加高度。它应该从0增加到全高(460)。

我该怎么做?

这只是更复杂情况的一个例子。

我尝试了以下内容,但它只是缩放整个画面,我只想增加高度。

- (IBAction)my_slider:(UISlider *)sender {

    [self.thermo_color setTransform:CGAffineTransformMakeScale(sender.value, sender.value)];

}

点击此链接查看示例照片: http://i.stack.imgur.com/PARUT.jpg

谢谢。

1 个答案:

答案 0 :(得分:0)

Te Controller结构:

-MainView
--UIImageView *themFull (full image with full color)
--UIView *viewAnimated (a white view that you transform for the animation effect)
--UIImageView *themEmpty (empty Image of thermometer)

这是做到这一点的好方法:

- (IBAction)my_slider:(UISlider *)sender {

    dispatch_async(dispatch_get_main_queue(), ^{

        [self.viewAnimated setFrame:CGRectMake(self.viewAnimated.frame.origin.x,
                                                self.viewAnimated.frame.origin.y,
                                                self.viewAnimated.frame.size.width,
                                                self.viewAnimated.frame.size.width / sender.value)];

    });
}

视图的大小必须与您的UIImageViews相同