【问题标题】:Dynamically adjust font as per text content根据文本内容动态调整字体
【发布时间】:2013-01-21 18:58:35
【问题描述】:
假设我有一个 320*460 帧的 UILabel 或 UITextView
如果用户输入任何字母 A... 它应该以大 A 进入中间。
只要用户继续写下去,标签字体就会自动调整。显然应该有一些最小和最大范围让我们说最小为 8 像素。
是的,没有滚动功能。
请提供帮助,以便我可以使用 100% 动态内容启动我的算法,而不管硬编码的帧大小如何。
【问题讨论】:
标签:
iphone
objective-c
uilabel
uitextview
【解决方案1】:
根据您拥有的控件实现 UITextFieldDelegate 和/或 UITextInputDelegate。输入文本后,找到整个文本并测量使用该方法的框架可能使用的最大字体
- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
这个方法在 NSString 上