在 Xcode 中创建自定义模板 - 如何根据复选框制作所需的选项?
Posted
技术标签:
【中文标题】在 Xcode 中创建自定义模板 - 如何根据复选框制作所需的选项?【英文标题】:Creating a custom template in Xcode - how can I make a required option based on a checkbox? 【发布时间】:2013-02-14 20:31:54 【问题描述】:我正在尝试在 Xcode 中创建自定义模板。在我的 TemplateInfo.plist 中,对于关键选项,我在下面粘贴了代码。此模板适用于在事件发生时经常(但并非总是)使用委托的类。
我遇到的问题是最底部的值RequiredOptions
。我希望仅在 withProtocol 复选框被选中时启用文本框。但是,我无法弄清楚要使用什么价值和价值类型。我尝试了以下方法:
<true/>
(如下)- 文本框始终处于启用状态。
<string>YES</string>
- 文本框始终处于禁用状态。
<integer>1</integer>
- 文本框始终处于启用状态。
有人对我还可以尝试什么有任何想法吗?更好的是,有人知道 Xcode 模板的不错参考吗?
我已经阅读了 Apple 的 plist 手册页和this website 上的文章。
<array>
<dict>
<key>Description</key>
<string>The name of the class to create</string>
<key>Identifier</key>
<string>productName</string>
<key>Name</key>
<string>Class</string>
<key>NotPersisted</key>
<true/>
<key>Required</key>
<true/>
<key>Type</key>
<string>text</string>
</dict>
<dict>
<key>Default</key>
<string>false</string>
<key>Identifier</key>
<string>withXIB</string>
<key>Name</key>
<string>With XIB for user interface</string>
<key>Type</key>
<string>checkbox</string>
</dict>
<dict>
<key>Description</key>
<string>Choose whether or not a delegate skeleton is included.</string>
<key>Default</key>
<string>false</string>
<key>Identifier</key>
<string>withProtocol</string>
<key>Name</key>
<string>With delegate skeleton</string>
<key>Type</key>
<string>checkbox</string>
</dict>
<dict>
<key>Description</key>
<string>The name of the protocol used for delegation.</string>
<key>Identifier</key>
<string>protocolName</string>
<key>Name</key>
<string>Protocol</string>
<key>NotPersisted</key>
<true/>
<key>Required</key>
<true/>
<key>Type</key>
<string>text</string>
<key>RequiredOptions</key>
<dict>
<key>withProtocol</key>
<true/>
</dict>
</dict>
</array>
【问题讨论】:
当我使用自定义模板时,它会自动使用 templateinfo.plist 中写入的文件,我可以限制它们吗?意味着如果我仅在文件进入我的应用程序时选择复选框。 对不起,我不明白你的意思。你能改写吗? 【参考方案1】:我通过将<true/>
替换为<string>true</string>
解决了我自己的问题。
【讨论】:
这在 Xcode 11 中不起作用。有替代方法吗?【参考方案2】:根据复选框添加所需选项的正确方法
RequiredOptions
字典的键必须是另一个选项的标识符,并且字典的值必须是允许启用当前选项的选项值子集的数组。
<key>RequiredOptions</key>
<dict>
<key>withXIB</key>
<array>
<string>true</string>
</array>
</dict>
在您的情况下,true
可以完成工作。
在 Xcode 12 上测试 ✅
【讨论】:
以上是关于在 Xcode 中创建自定义模板 - 如何根据复选框制作所需的选项?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Xcode + Swift 4中创建自定义UIBarButtonItem类?