我正在为Today视图编写iOS 8 App Extension(小部件)。 xcode中的默认模板附带一个故事板。如何使用xib文件而不是故事板?
documentation说这是可能的,但我似乎无法弄清楚如何更改info.plist文件以加载xib。
答案 0 :(得分:13)
您需要做的就是添加“NSExtensionPrincipalClass”和您想要的类名。
答案 1 :(得分:8)
正如我最近发现的那样艰难 - 请注意' NSExtensionPrincipalClass' 必须直接位于' NSExtension'键。例如班级ShareViewController
:
<key>NSExtension</key>
<dict>
<key>NSExtensionPrincipalClass</key>
<string>ShareViewController</string>
...
</dict>
答案 2 :(得分:0)
默认情况下,Today模板提供以下Info.plist键和值(此处显示的是OS X目标):
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.widget-extension</string>
<key>NSExtensionPrincipalClass</key>
<string>TodayViewController</string>
</dict>
如果使用自定义视图控制器子类,请使用自定义类名替换NSExtensionPrincipalClass键的TodayViewController值。
的iOS。如果您不想使用模板提供的故事板文件,请删除NSExtensionMainStoryboard键并使用视图控制器的名称添加NSExtensionPrincipalClass键。
您创建“今日”窗口小部件所做的大部分工作都涉及设计UI并实现执行自定义功能的视图控制器子类。