我正在尝试在我的应用中设置应与6.1+兼容的动态类型。
我正在使用preferredFontForTextStyle:
,它显然在iOS< 7.0
你是如何解决这个问题的?
respondsToSelector:
并在每个字体设置中拆分两个?
有更好的方法吗?
提前致谢!
答案 0 :(得分:2)
只有在iOS版本低于7时才能动态修补UIFont。
如何修补未使用的方法:
在UI7Kit中,我使用addClassMethodForSelector修补它:...由FoundationExtension提供。
请参阅:https://github.com/youknowone/UI7Kit/commit/701c44a69406ad971794c9ab46aeb0cfac1fa207#L3R57
此代码添加新方法preferredFontForTextStyle:来自现有方法实现__preferredFontForTextStyle:
此外,UI7Kit现在开始支持该方法。 (以非常粗糙的方式) 如果你愿意,试试吧。
答案 1 :(得分:1)
我一直在想这个;可能最好的方法是在运行时手动将preferredFontForTextStyle:
方法添加到UIFont
类,如果应用程序在iOS 6上运行,然后在那里动态选择适当的系统字体大小。对于其他方法,github上的UI7Kit项目为此做了类似的事情,但遗憾的是这不是。