更新:iOS 4 是主要参与者。如果您正在运行 iOS 4 sim,标签将返回 0.00 的大小,因为它从未加载...这将我的最后一个问题更改为:“如果 Xib 是,您如何在 iOS 4 中找到字体大小“
后者看起来很明显,但并不理想,因为设计师进入了 Xib 并且新字体更细,因此我们必须将大小更改为更小,以便正常 Helvetica(适用于 iOS 4)。如果在视觉上,设计师和我在设计时看错了字体,那就不理想了。
也许我想出了这个,但我希望 iOS 向导可以回答这个关于 xib 负载问题的 xib-becomes-0 初始测试,如果可能的话。
----- 结束更新 -----
我正在尝试从我的网点获取当前设置的字体 pointSize,并且遇到了非常艰难的时期。
问题:iOS 4 不支持我使用的字体。iOS 5 可以。
解决方案:调用获取当前 iOS 级别的函数,如果为 5,则返回相同的标签并使用其字体类型。如果是 iOS 4,请将其设置为 Helvetica 并尝试获取其大小(在 xib 中设置)。
抓取大小是不可能的,它总是返回 0.00(除了某些情况,即将确定,但是......)原因不是延迟加载。我只是在加载视图后延迟 1 秒后调用了相同的函数(更改字体之一)。
结果:
NSLogging labelName.font.pointSize 在“get font for XX”函数打印 0.00 之前,在打印大小之后执行。
奇怪的部分:虽然我无法手动找到它,但无论我是否使用 xHeight、pointSize 或 lineHeight(frame.size.height 太大,否则会这样做),如果我只是返回 iOS 5 的字体,它看起来不错,好像不知何故——它在某个地方找到了正确的值。我一厢情愿地认为这可能不是私人的,但还没有找到。
问题不能是延迟加载使东西为零,因为第二次延迟的方式超过了加载标签所需的时间(并且它们是可见的)。
现在重新启动,多亏了不可修复的 boostrap 东西。
谢谢你的帮助!
我对iOS并不陌生,这让我有点困惑