用于动画的UIButton背景图像未跨设备对齐

时间:2015-04-30 19:36:39

标签: ios cocoa-touch autolayout

我有一个UIButton backgroundImage,用于在加载完成时显示天气状况图像。我还创建了一个替换UIButton的UIImageView来动画一系列图像作为进度指示器。

我的问题:如何修复多个屏幕尺寸的动画UIImageView x轴错位?

以下是4.7“iPhone上的序列,红色框表示我正在谈论的图像:

首先,UIImageView动画作为进度指示器(想象它旋转,对齐是正确的)

4.7" animating

其次,下载完成后,进度指示器被替换为带有backgroundImage的UIButton:

4.7" image

第三,UIImageView在4英寸iPhone上制作动画(注意x轴上的错位):

4" animating

第四,下载完成,UIButton替换它,正确对齐:

4" image

以下是UIImageView *progressIndicator的配置方式。 请注意,conditionButton是具有天气状况backgroundImage的UIButton:

self.progressIndicator = [[UIImageView alloc] initWithFrame:self.conditionButton.frame];

self.progressIndicator.contentMode = UIViewContentModeCenter;
self.progressIndicator.animationImages = @[...long series of images...];

self.progressIndicator.animationDuration = 0.5f;

[self.conditionButton setBackgroundImage:[UIImage imageNamed:@"empty.png"] forState:UIControlStateNormal];
[self.progressIndicator startAnimating];
[self.view addSubview:self.progressIndicator];

我很确定问题出在

self.progressIndicator = [[UIImageView alloc] initWithFrame:self.conditionButton.frame]; 

但我不知道如何解决这个问题。

当我切换到5.5“iPhone时出现同样的问题。我没有自动布局警告,并且适用于conditionButton的约束是:

Align Center X to superview
Width = 94
Height = 94
Bottom and Top space to nearest neighbor = default

非常感谢任何帮助!

0 个答案:

没有答案