问题
My team is currently working on an iOS application in which we don't use storyboards at all. We create the UI in code instead. So for consistency's sake it would be great if we could create a Watch App target entirely in code.
However, both the "Getting started with WatchKit" video and WatchKit Framework Reference
mention that you need a storyboard for the Watch App target. Furthermore, in WKInterfaceObject.h
the init
method is marked as unavailable:
- (instancetype)init NS_UNAVAILABLE;
So is it really impossible to create a Watch App without using storyboards? If so, what are the reasons behind this decision? I mean, we can create an iPhone / iPad app entirely in code, so why is it different for the Watch?
回答1:
If you read the WatchKit programming guide you will see that you app is actually executing on the user's iPhone and the app sends information to be displayed to the watch by WatchKit.
As there is none of your code executing on the watch itself, you can't perform programmatic layout - WatchKit uses a Storyboard to provide the layout and render the information provided by your app running on the iPhone.
Apple has said that it will be possible to develop native Watch applications in the future, so it may be possible then.
来源:https://stackoverflow.com/questions/27015714/can-i-create-a-watchkit-app-without-a-storyboard-entirely-in-code