1.UIModalTransitionStyle modal弹出动画风格
2.UIModalPresentationStyle modal弹出形式(frame方面)
@protocol UIContentContainer <NSObject>
3.@property (nonatomic, readonly) CGSize preferredContentSize
设置我们期望的childViewController的界面的大小
4.- (void)preferredContentSizeDidChangeForChildContentContainer:(id <UIContentContainer>)container
通知当前VC,根据新的size调整UI
5.- (void)systemLayoutFittingSizeDidChangeForChildContentContainer:(id <UIContentContainer>)container
在这些情况下该方法会被调用,当前viewController没有使用auto layout布局,childrenViewController的view使用了autoLayout布局
6.- (CGSize)sizeForChildContentContainer:(id <UIContentContainer>)container withParentContainerSize:(CGSize)parentSize
当容器viewControllerViewWillTransitionTosize:withTransitionCoordinator:被调用时(我们重写这个方法时要调用super),sizeForChildContentContainer方法将被调用
7.- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
viewController的view的size被他的parent Controller改变时,会触发这个方法
8.- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
当viewController的traitCollection的值将要改变时会调用这个方法,这个方法是在UITraitEnvironment协议方法traitCollectionDidChange:之前被调用。
@end
9.UIKIT_EXTERN NSNotificationName const UIViewControllerShowDetailTargetDidChangeNotification
showViewController:sender and showDetailViewController:sender: 被调用时被触发
10.NS_CLASS_AVAILABLE_IOS(2_0) @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer>
UIViewController继承自UIResponder类,并实现NSCoding(实现归档操作),UIAppearanceContainer(允许开发者对UI控件通过定制都可以呈现各种外观),UITraitEnvironment(SizeClasses适配理念,通过内部的traitCollection属性,可以拿到对应的UITraitCollection对象,从而得知当前的SizeClass,进一步确定界面的布局),UIContentContainer协议(调整视图布局)
11.- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBun