Animating a UIImage or UIImageView?(为 UIImage 或 UIImageView 设置动画?)
问题描述
我正在尝试为图像的高度设置动画(从 0 像素高度到 480 像素)以创建自上而下渲染的图像效果.
I'm trying to animate an image's height (from height of 0 pixels to 480 pixels) to create the effect of the image being rendered top-down.
使用 UIImageView 我注意到它在 Interface Builder 中看起来是正确的.但是当它在模拟器中运行时,大小(宽度和高度)总是设置为图像的大小;这意味着,如果我将图像视图的高度设置为原始高度的 50%,图像仍会以全高呈现.
With an UIImageView i noticed that it appears correct in the Interface Builder. But when it runs in the simulator the size (width and height) is always set to whatever the size of the image is; meaning, if I set the height of the image view to be 50% the original height, the image is still rendered in full height.
我也试过用 UIImage 来做这个效果.然而,虽然图像的大小看起来是正确的,但图像会被缩放以反映大小/纵横比.
I also tried do this effect with an UIImage. However, although the size of the image appears correct, the image is scaled to reflect the size/aspect-ratio.
问题:如何在不缩放图像的同时实现这种动态大小(即图像大小的动画)?我考虑过使用 CGImageCreateWithMask,但我很确定这会产生巨大的性能问题.
Question: How can i achieve this dynamic sizing (i.e. animation of an image's size) while NOT scaling the image? I thought about using CGImageCreateWithMask, but im pretty sure that would create huge performance hiccups.
* 更新 *
我正在寻找的效果是这样的:通过使图像的高度从上到下(就像一组百叶窗被拉到窗户上)来为图像设置动画.此图像无法缩放(因为它会失去看起来像盲人"的视觉效果).此图像还必须在另一个图像之上渲染.所以总共有 2 张图片.
The effect that im looking for is this: Animate an image by making it grow in height, from to-down (like a set of blinds being pulled on a window). This image cannot be scaled (as it would lose the visual effect of looking like a "blind"). This image must also be rendered on top of another image. So there are 2 images total.
* 答案 *
对于最顶部的图像视图,我将内容模式设置为顶部(因此它不会缩放).然后在代码中,我将 clipsToBounds 设置为 True.现在我可以为最顶部的 imageview 高度设置动画,从而给我想要的效果.
For the top-most imageview, i set the content mode to Top (so it doesnt scale). Then in code, i set the clipsToBounds to True. Now i am able to animate the top-most imageview height thus giving me the effect i am looking for.
推荐答案
正如原帖中提到的,这是我似乎偶然发现的答案:
As mentioned in the original post, here is the answer i seem to have stumbled upon:
对于最顶部的图像视图,我将内容模式设置为顶部(因此它不会缩放).然后在代码中,我将 clipsToBounds 设置为 True.现在我可以为最顶部的 imageview 高度设置动画,从而给我想要的效果.
For the top-most imageview, i set the content mode to Top (so it doesnt scale). Then in code, i set the clipsToBounds to True. Now i am able to animate the top-most imageview height thus giving me the effect i am looking for.
这篇关于为 UIImage 或 UIImageView 设置动画?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为 UIImage 或 UIImageView 设置动画?


- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- android 4中的android RadioButton问题 2022-01-01