我在我的应用程序代码中简单地放置了UILabel:
headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 5, 884, 68)];
headerLabel.font = [UIFont fontWithName:@"HoboStd" size:64];
headerLabel.textAlignment = UITextAlignmentCenter;
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.textColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];
headerLabel.adjustsFontSizeToFitWidth = YES;
[self.view addSubview:gameSpeaks];
在iOS6 iPad 3上,屏幕上的文字显示比iOS 7 iPad Mini上的文字略高,代码相同,同样.xib和所有内容。有人知道这是iOS6与iOS7的结果还是由于不同的设备或其他一些我不知道的问题?
我想要说当我在iOS6上测试它时iPad Mini显示与iPad 3相同的位置,然后我将其升级到iOS7并注意到这个差异。如果是导致此问题的操作系统版本 - 在代码中测试操作系统版本的首选方法是什么,以便在OS7设备和OS6上运行时可以根据需要重新定位标签?
非常感谢!
答案 0 :(得分:2)
这是iOS6
vs iOS7
的结果,因为状态栏现在是视图的一部分。
在iOS7
中,如果您不调整它们,所有内容都会比iOS6
中显示的内容大约20个像素更高。
在iOS6
和之前,将UI元素的y原点设置为0
会将其置于状态栏的最底部。在iOS7
中,0
的y原点现在将它放在屏幕的最顶端,位于(现在是透明的)状态栏后面。
您可以使用以下方式获取当前版本的设备:
[[UIDevice currentDevice] systemVersion]