Difference between revisions of "SBFolderController"

From iPhone Development Wiki
Jump to: navigation, search
m (Readability)
Line 5: Line 5:
 
<source lang=objc>
 
<source lang=objc>
 
//Create instance of SBFolderController
 
//Create instance of SBFolderController
SBFolderController *innerFolder = [[[[[%c(SBIconController) sharedInstance] controllerClassForFolder:[iconView.icon folder]] alloc] initWithFolder:[iconView.icon folder] orientation:[[%c(SBIconController) sharedInstance] orientation] viewMap:[[[%c(SBIconController) sharedInstance] _rootFolderController] _viewMap]] autorelease];
+
SBIconController *iconController = [%c(SBIconController) sharedInstance];
 +
SBRootFolderController *rootFolderController = [iconController _rootFolderController];
 +
SBFolder *folder = [iconView.icon folder];
 +
Class controllerClass = [iconController controllerClassForFolder:folder];
 +
 
 +
SBFolderController *innerFolder = [[[controllerClass alloc] initWithFolder:folder orientation:[iconController orientation] viewMap:[rootFolderController _viewMap]] autorelease];
 
//Tell rootFolderController we have an innerFolderController
 
//Tell rootFolderController we have an innerFolderController
[[[%c(SBIconController) sharedInstance] _rootFolderController] setInnerFolderController:innerFolder];
+
[rootFolderController setInnerFolderController:innerFolder];
 
 
  
 
//Folder view retrieved with:
 
//Folder view retrieved with:
 
SBFolderView *view = [innerFolder contentView];
 
SBFolderView *view = [innerFolder contentView];
 
  
 
//To close folder
 
//To close folder
[[[%c(SBIconController) sharedInstance] _rootFolderController] _setInnerFolderOpen:NO animated:NO completion:nil];
+
[rootFolderController _setInnerFolderOpen:NO animated:NO completion:nil];
 
</source>
 
</source>

Revision as of 00:07, 2 March 2015

SBFolderController is the superclass of SBRootFolderController you can use this to create a new instance of SBFolderController for any SBFolder (you could also use another SBFolderController, this is relevant with folders in folders). This is useful if you need a SBFolderView.

iOS 8

//Create instance of SBFolderController
SBIconController *iconController = [%c(SBIconController) sharedInstance];
SBRootFolderController *rootFolderController = [iconController _rootFolderController];
SBFolder *folder = [iconView.icon folder];
Class controllerClass = [iconController controllerClassForFolder:folder];

SBFolderController *innerFolder = [[[controllerClass alloc] initWithFolder:folder orientation:[iconController orientation] viewMap:[rootFolderController _viewMap]] autorelease];
//Tell rootFolderController we have an innerFolderController
[rootFolderController setInnerFolderController:innerFolder];

//Folder view retrieved with:
SBFolderView *view = [innerFolder contentView];

//To close folder
[rootFolderController _setInnerFolderOpen:NO animated:NO completion:nil];