我的以下代码在 iOS 6.0 和 iOS 7.0 上运行良好,我们在标题 (UIView) 上设置了徽标 (UIImageView)。
升级到 SDK iOS7.1 后。以下停止工作,我完全不知道为什么。
// Header
header = [[UIView alloc] initWithFrame: CGRectMake(0, baseYPos, self.view.viewSize.width, 50)];
header.backgroundColor = [UIColor blackColor];
[self.view addSubview: header];
// LOGO
UIImageView *logo = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, header.viewSize.width, header.viewSize.height - 20)];
logo.image = [UIImage imageNamed: @"logo.png"];
logo.alpha = 1;
logo.contentMode = UIViewContentModeScaleAspectFit;
logo.center = ccp(header.center.x, header.center.y - baseYPos);
[header addSubview: logo];
使用revealapp.com。在 iOS7.0 中查看应用程序时,我将 UIImageView 视为标题上方的浮动徽标(Reveal 中的 3D 视图)。在iOS7.1中查看同一个app,UIImageView基本上是一个没有图片的空白透明框。
我尝试了以下方法,但均无济于事:
- 用initWithImage声明UIImageView,稍后设置frame
- 强制“logo”上的不透明为 FALSE,标题为 TRUE
- 我没有将“logo”作为子视图添加到“标题”,而是将其添加到两者的父视图中,将其作为子视图插入到标题上方
这些都不起作用。看起来苹果:
- 改变了我们在 UIImageView 中设置图像的方式
或者
- 改变了我们将 UIImageView 添加到 UIView 父级的方式
或者
- 我完全错误地编码了这个
我找不到任何关于 7.1 的发行说明表明这是一个 SDK 更改——这也导致了糟糕的 SDK 设计—— “请不要想孩子们!”
这个问题让我很困惑,所以任何帮助都会得到永恒的感激(如免费啤酒类:D)。
谢谢大家!