首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在改变设备方向时如何动画uiimageview

在改变设备方向时如何动画uiimageview
EN

Stack Overflow用户
提问于 2013-11-19 18:29:24
回答 1查看 413关注 0票数 0

我有一个UIImageView,用于为我的应用程序显示背景图像,因此它占据了整个屏幕,根据屏幕大小/设备(480点或568点)和方向,在4幅图像中的1幅之间进行更改。

我一直在寻找是否有办法使图像在不同方向之间切换动画,因为当设备当前旋转时,切换非常“苛刻”&简短地显示了后面的空白。

我从google/这里发现的大部分内容是,人们问我如何在uiimageview之间动画化--这不是我想要的,我只是更改了在代码中的单个uiimageview中显示的图像,如下面的代码片段:

代码语言:javascript
复制
- (void)doLayoutForOrientation:(UIInterfaceOrientation)orientation {
if (IS_WIDESCREEN && UIInterfaceOrientationIsPortrait(orientation)) {
    self.backgroundImage.image = [UIImage imageNamed:@"iPhone5backgroundPortrait.png"];
    _backgroundImage.frame = CGRectMake(0, 0, 320, 568);
} if (IS_NOT_WIDESCREEN && UIInterfaceOrientationIsPortrait(orientation)) {
    self.backgroundImage.image = [UIImage imageNamed:@"iPhone4backgroundPortrait.png"];
    _backgroundImage.frame = CGRectMake(0, 0, 320, 480);
} if (IS_WIDESCREEN && UIInterfaceOrientationIsLandscape(orientation)) {
    self.backgroundImage.image = [UIImage imageNamed:@"iPhone5backgroundLandscape.png"];
    _backgroundImage.frame = CGRectMake(0, 0, 568, 320);
} else if (IS_NOT_WIDESCREEN && UIInterfaceOrientationIsLandscape(orientation)) {
    self.backgroundImage.image = [UIImage imageNamed:@"iPhone4backgroundLandscape.png"];
    _backgroundImage.frame = CGRectMake(0, 0, 480, 320);

我已经尝试过animateImageNamed: D时程:方法,但是当设备旋转时,背景就消失了!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 21:15:59

您是否尝试将图像更改为:

代码语言:javascript
复制
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration

?另外,在某个时候,预取图像,以便在旋转发生时它们已经在图像缓存中,否则第一个图像可能会有一些延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20079249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档