0

我有一个为 iPhone 和 iPad 开发的应用程序。所有功能都适用于两种设备,无论是在模拟器上还是在真实设备上。除了一个。我正在使用情节提要,并且我三次检查是否将 iPad 和 iPhone 视图中的所有内容与我正在使用的同一类连接起来。

一个不起作用的功能是UIImageView.

所以,我有这个图像,我想移动到另一个位置,调用 - viewDidAppear

这是代码:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2];
_fessor.frame = (CGRectMake(_sweden.frame.origin.x+20, _sweden.frame.origin.y-10,  
_fessor.frame.size.width, _fessor.frame.size.height));
[UIView commitAnimations];

// _fessor is ImageView im animating;

// _sweden is the button representing the country I want my _fessor to go to

因此,此代码在 iPhone(模拟器和真实设备)上完美运行。那么为什么它不能在 iPad 上运行(同样,模拟器和设备)

此外,如果有人需要更多数据,请告诉我您需要哪些数据。因为我看不出还有什么可能导致问题

编辑:The animation DOES work, when I click on a button and call the animation method. But it DOESN'T work when I call it on - viewDidAppear

4

2 回答 2

1

将此块用于动画:

[UIView animateWithDuration:2.0 delay:0. options:UIViewAnimationOptionCurveEaseInOut animations:^{
    _fessor.frame = (CGRectMake(_sweden.frame.origin.x+20, _sweden.frame.origin.y-10,
                                _fessor.frame.size.width, _fessor.frame.size.height));
} completion:^(BOOL finished) {
    // when your animation finished
}];
于 2013-10-22T11:12:23.880 回答
-1

首先检查您传递的所有值是否与 ipad 大小有关

可能的问题是:您传递的帧大小非常适合 iPhone,但不适合 iPad。

可能有用:

CGRect screenBound = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenBound.size.width;
CGFloat screenHeight = screenBound.size.height;
于 2013-10-22T13:14:00.613 回答