【发布时间】:2011-02-07 14:47:26
【问题描述】:
因此,在使用NSString 的-sizeWithFont 系列方法调用时,我似乎遇到了一些奇怪的行为,具体取决于我是在iPhone 模拟器还是实际设备上调用它。
很简单,当-sizeWithFont:constrainedToSize:lineBreakMode:方法调用的接收者是nil时,返回给模拟器的CGSize就是{0, 0}。 但是,在设备上,返回结果与我在方法调用中指定的constrainedToSize:参数相同的CGSize值。请参阅以下日志语句:
模拟器:
someString: (null)
someStringSize: {0, 0}
设备:
someString: (null)
someStringSize: {185, 3.40282e+38}
模拟器上的行为是我所期望的。并不是说这个问题很难规避,而是 1)我有点困惑,为什么这一系列函数在模拟器和实际设备上的行为会有所不同,以及 2)为什么在 nil 接收器上调用方法会返回一个特定的、确定性的结果?
感谢你们提供的任何指示或见解!
编辑:我想我应该提到我正在针对 3.1 SDK 构建。
【问题讨论】:
标签: iphone layout fonts nsstring null