我正在尝试使用应用程序键盘扩展名创建自定义键盘。我对布局感到满意,但输出取决于UITextField的字体。
在使用键盘时是否可以强制使用其他字体(使用特殊字符?)?
谢谢
答案 0 :(得分:0)
要视情况而定。
文本字段(或任何其他绘制文本的视图)使用2条有关如何显示某些文本的信息。一个是称为String
的字符序列,另一个是应如何表示字符串。然后第二个将其拆分,例如字体,颜色,行高,换行和换行...
因此,仅靠键盘不足以例如使用不同的字体显示单词的特定部分。您至少需要访问代表文本的项目。因此,如果您无权访问文本字段,则答案为:不,使用不同的键盘时您无法预见不同的字体。
如果您确实具有访问权限,则答案应该在NSAttributedString
中。您可以将其分配给attributedText
下的大多数项目。此类包装原始字符串,并且可以向要更改的部分文本添加许多属性。其中包括使用其他字体。
另一种方法是使用HTML标签。同样,您将需要使用例如NSAttributedString
处理此问题,或将其与其他元素(例如网络视图)一起显示。
我会使用NSAttributedString
进行尝试。连接代表并实现textField(: shouldChangeCharactersIn: replacementString:
。虽然实现本身可能仍然不容易。