我想我可能已经知道了答案,但情况如下:
我有一张规格表,要求字体大小为:11pt。
当我这样做时:UIFont *font = [UIFont fontWithName:@"Gotham" size:11.0];
然后我的视网膜iPad 4上的字体很小。
当我用UIFont *font = [UIFont fontWithName:@"Gotham" size:22.0];
尺寸看起来正确。我是否可以假设我应该将@ 2x设备的字体点数加倍?正如人们想要的那样。
感谢您清理它。我明白了:UIFont *font = [UIFont fontWithName:@"Gotham" size:11.0];
会在视网膜/非视网膜上产生相同的大小。
现在可能会有更多愚蠢的跟进:
当我打开photoshop文件(缩放为@ 2x)时,字体显示为11pt。当我导出文件(转换为png并标记为@ 2x)并将png放入项目时,为什么图像的文本仍然比我在11pt以编程方式创建的文本大得多? (图像和程序文本都在iPad中查看)
我可能有一个大脑屁,但任何帮助找到解决方案将不胜感激。
答案 0 :(得分:3)
不,您不需要缩放字体大小。字体大小以点为单位,而不是像素。 11.0
对你来说似乎很小的原因是因为它确实是; - )
但无论是否是视网膜设备,尺寸都应该相同。
答案 1 :(得分:0)
如果你这样做,你应该能够忽略像素并完全按照点,本机测量单位来思考:
如果你有一个内置的界面小部件,比如UILabel,那么[UIFont fontWithName:@"Gotham" size:11.0]
在Retina和非Retina设备上看起来会相同(但在Retina上更清晰)。
如果您正在实时构建图像(在代码中),并且您使用此字体绘制到图像,那么如果这是2x图像的双倍 - 分辨率屏幕,然后你应该使用双分辨率图形上下文(例如你用UIGraphicsBeginImageContext(size,NO,0)
设置)并且再次[UIFont fontWithName:@"Gotham" size:11.0]
在Retina和非Retina设备上看起来相同(但是视网膜上更清晰。)
另一方面,假设您正在使用Photoshop准备一张图片,以便稍后在iOS应用中使用(例如图标),此图片中包含一些字体图形。当然,对于2x版本的图像,您必须将字体大小加倍,就像您将图形中所有内容的大小加倍一样。