我有一个通用的iPhone / iPad应用程序。在主菜单上,我有一个UIImage和UILabel,显示当前的天气状况; UILabel显示当前的温度。
我在两个版本中都使用相同的XIB,我使用了高分辨率的所有图形,因此它们适用于iPad。
在iPhone版本上,在UIImage下面,标签居中,这就是我想要的。当它在iPad中加载时,UIImage会变得更大,但标签会保持在屏幕左侧的相同位置,而不是在较大图像的中心。我已经在IB中尝试了很多不同的东西让它成为中心,我无法理解它。
在iPad上加载时,是否还可以使文字大小更大?
以下是一些描述我所说的内容的图片:
答案 0 :(得分:2)
不确定您的标签问题,但要改变iPad的文字大小,请创建一个功能来测试您是否在iPad上,然后根据需要使用它来改变您的代码。这是完成这项工作的功能。
BOOL isIPad()
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
return YES;
}
return NO;
}
然后只写一些条件代码。例如:
UIButton *infoCircle;
if (isIPad())
{
infoCircle = [UIButton buttonWithType:UIButtonTypeInfoDark];
}
else
{
infoCircle = [UIButton buttonWithType:UIButtonTypeInfoLight];
}
在您的情况下,您需要使用以下内容调整标签字体大小:
if (isIPad())
{
[[self mainLabel] setFont: [UIFont systemFontOfSize: 18.0]];
}
else
{
[[self mainLabel] setFont: [UIFont systemFontOfSize: 14.0]];
}
如果Interface Builder让您感到悲伤,您也可以使用相同的方法以编程方式重新定位UILabel。有时这会更快,特别是一旦你的界面安定下来。