iOS:自动调整大小不适用于UIImageView

时间:2014-08-27 06:53:45

标签: ios objective-c iphone xcode uiimageview

我正在制作一个非常简单的应用来学习Objective-C和Xcode。该应用程序有一个UIButton和一个UIImageView。当用户点击按钮时,图像从右向左以对角线方式向下移动,当它到达屏幕中的某个点时,它会再次返回以重新执行相同的操作,如下图所示:

(使用' if语句')

enter image description here

当我使用iPhone Retina(4英寸)打开iOS模拟器时,它的效果非常好。 问题是当我使用iPhone Retina(3.5英寸)打开模拟器时:

enter image description here

它加载图像并且一切看起来都很好,我按下按钮直到图像到达B点但是当它再生回来时会发生这种情况:

enter image description here

图像向下移动。我不知道为什么会这样做。我整天都在寻找答案,但似乎没什么用。我取消选中自动布局框并自动调整如下:

enter image description here

以下是代码:

File.h

{
    IBOutlet UIImageView *imageOne;

}

-(IBAction)Button:(id)sender;

@end

File.m

-(IBAction)Button:(id)sender{    

//ImageOne moving down and reappearing

[UIView animateWithDuration:0.1f
                 animations:^{

                     imageOne.center = CGPointMake(imageOne.center.x -44, imageOne.center.y +41);

                 }];

if (imageOne.center.x < -28) {
    imageOne.center = CGPointMake(368,487);

    }
}

非常感谢任何帮助

提前谢谢!!!

1 个答案:

答案 0 :(得分:0)

试试这个:

-(IBAction)Button:(id)sender{    

   CGPoint startingPoint = CGPointMake(startingXPoint, startingYPoint);
   CGPoint destinationPoint = CGPointMake(destinationXPoint, destinationYPoint);
   imageOne.center = startingPoint;



   [UIView animateWithDuration:0.5f  animations:^{

            imageOne.center = destinationPoint;

        } completion:^(BOOL finished){

            imageOne.center = startingPoint;

        }];
}