【发布时间】:2019-05-16 19:02:47
【问题描述】:
我正在尝试使用应用键盘扩展程序创建自定义键盘。我对布局很满意,但输出取决于 UITextField 的字体。
有没有办法在使用键盘时强制使用不同的字体(使用特殊字符?)?
谢谢
【问题讨论】:
标签: ios swift custom-keyboard
我正在尝试使用应用键盘扩展程序创建自定义键盘。我对布局很满意,但输出取决于 UITextField 的字体。
有没有办法在使用键盘时强制使用不同的字体(使用特殊字符?)?
谢谢
【问题讨论】:
标签: ios swift custom-keyboard
视情况而定。
文本字段(或任何其他绘制文本的视图)使用 2 个关于如何显示某些文本的信息。一个是称为String 的字符序列,另一个是应该如何表示字符串。然后将第二个拆分为字体、颜色、行高、换行和换行等内容...
因此,仅键盘不足以例如使用不同的字体呈现单词的某个部分。您至少需要访问代表文本的项目。因此,如果您无法访问您的文本字段,那么答案是;不,你不能在使用不同的键盘时使用不同的字体。
如果您确实有访问权限,那么答案应该在NSAttributedString。它是一个字符串,您可以分配给attributedText 下的大多数项目。此类包装您的原始字符串,并且可以将许多属性添加到您想要更改的文本部分。这包括使用不同的字体。
另一种方法是使用 HTML 标签。同样,您需要使用例如 NSAttributedString 来处理它,或者使用其他元素(如 Web 视图)来显示它。
我会尝试使用NSAttributedString。连接到委派和实施textField(: shouldChangeCharactersIn: replacementString:。不过,实现本身可能仍然不容易。
【讨论】: