-
Notifications
You must be signed in to change notification settings - Fork 1
Component Spec
Russ Frank edited this page Jan 28, 2014
·
7 revisions
Components can be loaded by any channel to display data. They must:
- Expose a class which inherits from
UIViewController
which can be set as thecenter
of aJASidePanelController
. Should end inComponent
, i.e.RUInfoComponent
. - Have a delegate protocol header which specifies that
- (void) onMenuButtonTapped
should be implemented, which is called when the top left menu button is tapped. If this selector isn't responded to by the delegate or the delegate isnil
, the button can be omitted. - Fill the whole screen. Since they're in the center of a
JASidePanelController
they will fill the area beneath the status bar; it is the responsibility of the component to place itself in anUINavigationController
, for ex. by having theComponent
class inherit fromUINavigationController
then instantiate theViewController
which displays content and push it into theNavigationController
, or otherwise handle that bit of space. - Be in a CocoaPod that is then submitted to either the main CocoaPods spec repository or the private RUMobile specs repository. It's likely that we'll want it in the private specs repository unless it's likely that this component can be used in other apps. Information on using a private specs repo can be found here. Information on making a spec file can be found here.
- Implement an initialization selector of the form
- (id) initWithDelegate: (id <ComponentDelegate>) delegate options: (NSDictionary *) options
We are currently using Xcode 5 and targeting iOS 7. We are not supporting iOS versions <7.