将UILabel定位在相对于屏幕分辨率的区域中

时间:2012-10-30 14:29:57

标签: objective-c ios6

我正在尝试相对于屏幕分辨率(iPhone v iPad)定位UILabel,以便UILabel在启动时不会干扰启动画面图形。当应用程序仅为iPhone时,标签位置正确。一旦应用程序普及,标签就会干扰iPad上的图像(当然)

我正在使用下面的方法,该方法运行良好,但在新设备和/或新屏幕分辨率方面并不是非常具有前瞻性。

任何人都可以建议一种更有效的方式在下面链接的附加图像上以红色圈出的区域内显示UILabel“连接到服务器...”(我还没有auth在这里发布图像)?< / p>

   UILabel *loadingLabel;

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    loadingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 350, self.window.frame.size.width, 20)];
}
else
{
    loadingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 700, self.window.frame.size.width, 20)];

}
loadingLabel.text = @"   Connecting to Server...";
loadingLabel.textAlignment = UITextAlignmentCenter;
loadingLabel.textColor = [UIColor whiteColor];
loadingLabel.backgroundColor = [UIColor clearColor];

Splash Screen

1 个答案:

答案 0 :(得分:0)

您可以使用autoresizingMask属性来完成它。 将您的origin.y设置为标签为self.window.bounds.size.height - 200左右。然后将autoresizingMask设置为UIViewAutoresizingMakFlexibleBottomMargin