First, [Parent View Controller Addchildviewcontroller: Child view Controller];
Here, figure Controller A adds another diagram controller B, then a acts as the parent view Controller and B acts as a child view controller. The parent View Controller acts as a role for the View controller container.
1, Addchildviewcontroller Method:
-(void) Addchildviewcontroller: (Uiviewcontroller *) Childcontroller
To add a child view controller to the View Controller container
Childcontroller: Child View Controller
When the child view controller that you want to add is already included in the View controller container, it is equivalent to first being removed from the parent view controller and then re-added to the parent view controller.
2. Removefromparentviewcontroller method
-(void) Removefromparentviewcontroller
Removed from the parent view controller.
3. Transitionfromviewcontroller method
-(void) Transitionfromviewcontroller: (Uiviewcontroller
*) Fromviewcontroller Toviewcontroller: (Uiviewcontroller
*) Toviewcontroller Duration: (nstimeinterval) duration
Options: (uiviewanimationoptions) options animations: (void
(^) (void)) Animations completion: (void (^) (BOOL finished)) completion
Swap the locations of two child view controllers (because the order of the additions is different, the child tries to have a hierarchical relationship in the parent view Controller)
Fromviewcontroller: The currently displayed child tries the controller and will be replaced with a non-display state
Toviewcontroller: The child View controller that will be displayed
Duration: Swap animation duration, per second
Options: How to animate
Animations: Animation block
Completion: block to be executed after completion
4. Willmovetoparentviewcontroller method
-(void) Willmovetoparentviewcontroller: (Uiviewcontroller *) Parent
When a view controller is added to or removed from the View controller container, the method is called Parent: the parental view controller, and nil if there is no parent view Controller
Note the point:
-
When we call the Removefromparentviewcontroller method to our view controller container, we must first call the method, and the parent parameter is nil:
[View controller to be removed Willmovetoparentviewcontroller:nil];
-When we call the Addchildviewcontroller method, the method is called automatically before the child view controller is added. So, there is no need for us to display the call.
5. Didmovetoparentviewcontroller method
-(void) Didmovetoparentviewcontroller: (Uiviewcontroller *) Parent
This method is called when Viewcontroller is added from a View control container or removed.
Parent: Parental view Controller, if no parent view controller, will be nil
When we add (or remove) a child view controller to our view Controller container (which is the parent view controller, which calls the Addchildviewcontroller method to join the child view controller, it becomes the container of the view controller), you must call the method, tell iOS, The operation to add (or remove) the child controller has been completed.
The Removefromparentviewcontroller method automatically calls the method, so after you delete the child controller, you do not need to call the method in the display.
In fact, these several methods of the API description, see also understand.
Ii. use of Willmovetoparentviewcontroller methods and Didmovetoparentviewcontroller methods
1. These two methods are called when the child tries to switch the controller! Called when the Transitionfromviewcontroller method is called.
2. When calling the Willmovetoparentviewcontroller method or the Didmovetoparentviewcontroller method, be aware that their arguments are used:
When a child view controller is removed from the parent view controller, the parent parameter is nil.
That is: [The sub-attempt controller to be deleted Willmovetoparentviewcontroller:nil];
When a child tries to join the controller to the parent view controller, the parent parameter is the parental view controller.
That is: [The child view controller to be joined Didmovetoparentviewcontroller: parent view Controller];
3. No need to invoke the [child View Controller Willmovetoparentviewcontroller: Parent View Controller] method. Because we call the [Parent view Controller
Addchildviewcontroller: Child View Controller], has been called by default.
You only need to call the child View Controller Didmovetoparentviewcontroller: Parent View Controller after the Transitionfromviewcontroller method;
4. No need to invoke the [child View Controller Didmovetoparentviewcontroller: Parent View Controller] method. Because we call
[Child View Controller Removefromparentviewcontroller], has been called by default.
You only need to call before the Transitionfromviewcontroller method: [Child View Controller
Willmovetoparentviewcontroller:nil].
IOS-----Viewcontroller Controller