我的一个大项目客户只是希望在整个应用程序中更改主要字体。 代码分配的字体非常简单(我有一些抽象字体创建的主题系统)。
但问题始于XIB文件中使用的字体。我是否必须彻底完成所有这些操作并手动将更改应用于属性(我确实有几十个)?
是否有任何智能终端命令可以更有效地执行此操作(ibtool, xargs, find
的组合)?
我已经完成了类似的问题 - 提取XIB中使用的所有字符串,如下所述:
https://stackoverflow.com/a/7754884/229229
我希望任何XIB属性都有一些搜索(和替换)模式。
答案 0 :(得分:3)
.xib
个文件是普通.xml
个文件,可以简单编辑
.xib
个文件中只定义了非默认字体。简化示例:
<object class="NSTextField" id="298830314">
<object class="NSTextFieldCell" key="NSCell" id="386648753">
<object class="NSFont" key="NSSupport">
<string key="NSName">Arial-BoldMT</string>
<double key="NSSize">18</double>
<int key="NSfFlags">16</int>
</object>
</object>
</object>
换句话说,删除所有<object class="NSFont">
路径以恢复为默认字体
要将所有NSTextField
更改为特定字体,请添加以下内容:
<object class="NSFont" key="NSSupport">
<string key="NSName">Arial-BoldMT</string>
<double key="NSSize">18</double>
<int key="NSfFlags">16</int>
</object>
到所有<object class="NSTextField">
。
Xcode没有内置功能可以批量自动执行此操作。
编辑 (回复评论)
单击“字体面板...”按钮选择特定字体:
使用字体面板,您可以选择任何字体: