UIViewController的API

单于亮
2023-12-01

- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;

返回一个新初始化的视图控制器,其中包含指定包中的nib文件。

 

- (instancetype)initWithCoder:(NSCoder *)aDecoder;

 

@property(nonatomic, readonly, strong) UIStoryboard *storyboard;

视图控制器源自的故事板。

 

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender;

确定是否应执行具有指定标识符的segue。

 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;

通知视图控制器即将执行segue。

 

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender;

使用当前视图控制器的故事板文件中的指定标识符启动segue。

 

- (NSArray<UIViewController *> *)allowedChildViewControllersForUnwindingFromSource:(UIStoryboardUnwindSegueSource *)source;

返回应搜索展开segue目标的子视图控制器数组。

 

- (UIViewController *)childViewControllerContainingSegueSource:(UIStoryboardUnwindSegueSource *)source;

返回包含展开segue源的子视图控制器。

 

- (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender;

在视图控制器上调用以确定它是否响应展开操作。

 

- (void)unwindForSegue:(UIStoryboardSegue *)unwindSegue towardsViewController:(UIViewController *)subsequentVC;

当展开segue转换为新的视图控制器时调用。

 

@property(nonatomic, strong) UIView *view;

控制器管理的视图。

 

@property(nonatomic, readonly, getter=isViewLoaded) BOOL viewLoaded;

一个布尔值,指示视图当前是否已加载到内存中。

 

- (void)loadView;

创建控制器管理的视图。

 

- (void)viewDidLoad;

在控制器的视图被加载到内存后调用。

 

- (void)loadViewIfNeeded;

加载视图控制器的视图(如果尚未加载)。

 

@property(nonatomic, readonly, strong) UIView *viewIfLoaded;

视图控制器的视图,或者nil视图是否尚未加载。

 

@property(nonatomic, copy) NSString *title;

一个本地化字符串,表示此控制器管理的视图。

 

@property(nonatomic) CGSize preferredContentSize;

视图控制器视图的首选大小。

 

@property(nonatomic, assign) UIModalPresentationStyle modalPresentationStyle;

 

@property(nonatomic, assign) UIModalTransitionStyle modalTransitionStyle;

 

 

@property(nonatomic, readwrite, getter=isModalInPopover) BOOL modalInPopover;

 

 

- (void)showViewController:(UIViewController *)vc sender:(id)sender;

 

 

- (void)showDetailViewController:(UIViewController *)vc sender:(id)sender;

 

 

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion;

 

 

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion;

 

 

@property(nonatomic, assign) BOOL definesPresentationContext;

 

 

@property(nonatomic, assign) BOOL providesPresentationContextTransitionStyle;

 

 

@property(nonatomic, readonly) BOOL disablesAutomaticKeyboardDismissal;

 

 

@property(nonatomic, weak) id<UIViewControllerTransitioningDelegate> transitioningDelegate;

 

 

@property(nonatomic, readonly) id<UIViewControllerTransitionCoordinator> transitionCoordinator;

 

 

- (UIViewController *)targetViewControllerForAction:(SEL)action sender:(id)sender;

 

 

@property(nonatomic, readonly) UIPresentationController *presentationController;

 

 

@property(nonatomic, readonly) UIPopoverPresentationController *popoverPresentationController;

 

 

@property(nonatomic) BOOL restoresFocusAfterTransition;

 

 

- (void)viewWillAppear:(BOOL)animated;

通知视图控制器其视图即将添加到视图层次结构中。

 

- (void)viewDidAppear:(BOOL)animated;

通知视图控制器其视图已添加到视图层次结构中。

 

- (void)viewWillDisappear:(BOOL)animated;

通知视图控制器其视图已从视图层次结构中删除。

 

- (void)viewDidDisappear:(BOOL)animated;

通知视图控制器其视图已从视图层次结构中删除。

 

@property(nonatomic, readonly, getter=isBeingDismissed) BOOL beingDismissed;

一个布尔值,指示是否正在关闭视图控制器。

 

@property(nonatomic, readonly, getter=isBeingPresented) BOOL beingPresented;

一个布尔值,指示是否正在显示视图控制器。

 

@property(nonatomic, readonly, getter=isMovingFromParentViewController) BOOL movingFromParentViewController;

一个布尔值,指示是否从父视图控制器中删除视图控制器。

 

@property(nonatomic, readonly, getter=isMovingToParentViewController) BOOL movingToParentViewController;

一个布尔值,指示是否将视图控制器移动到父视图控制器。

 

@property(nonatomic) UIEdgeInsets additionalSafeAreaInsets;

您指定用于修改视图控制器安全区域的自定义插入。

 

- (void)viewSafeAreaInsetsDidChange;

调用以通知视图控制器其根视图的安全区域insets已更改。

 

@property(nonatomic) BOOL viewRespectsSystemMinimumLayoutMargins;

一个布尔值,指示视图控制器的视图是否使用系统定义的最小布局边距。

 

@property(nonatomic, readonly) NSDirectionalEdgeInsets systemMinimumLayoutMargins;

视图控制器根视图的最小布局边距。

 

- (void)viewLayoutMarginsDidChange;

调用以通知视图控制器其根视图的布局边距已更改。

 

@property(nonatomic, assign) UIRectEdge edgesForExtendedLayout;

您为视图控制器扩展的边。

 

@property(nonatomic, assign) BOOL extendedLayoutIncludesOpaqueBars;

一个布尔值,指示扩展布局是否包含不透明条。

 

- (void)viewWillLayoutSubviews;

调用以通知视图控制器其视图即将布局其子视图。

 

- (void)viewDidLayoutSubviews;

被调用以通知视图控制器其视图刚刚布置了其子视图。

 

- (void)updateViewConstraints;

当视图控制器的视图需要更新其约束时调用。

@property(nonatomic, readonly) BOOL shouldAutorotate;

返回一个布尔值,指示视图控制器的内容是否应自动旋转。

 

@property(nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;

返回视图控制器支持的所有接口方向。

 

@property(nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;

返回呈现视图控制器时要使用的界面方向。

 

+ (void)attemptRotationToDeviceOrientation;

尝试将所有窗口旋转到设备的方向。

 

- (void)collapseSecondaryViewController:(UIViewController *)secondaryViewController forSplitViewController:(UISplitViewController *)splitViewController;

分割视图控制器转换为紧凑宽度大小类时调用。

 

- (UIViewController *)separateSecondaryViewControllerForSplitViewController:(UISplitViewController *)splitViewController;

当拆分视图控制器转换为常规宽度大小类时调用。

 

@property(nonatomic, readonly) UIUserInterfaceStyle preferredUserInterfaceStyle;

此视图控制器的首选界面样式。

 

@property(nonatomic, readonly) UIViewController *childViewControllerForUserInterfaceStyle;

支持首选用户界面样式的子视图控制器。

 

- (void)setNeedsUserInterfaceAppearanceUpdate;

@property(nonatomic, readonly) NSArray<__kindof UIViewController *> *childViewControllers;

通知视图控制器发生了可能影响首选界面样式的更改。

 

- (void)addChildViewController:(UIViewController *)childController;

将指定的视图控制器添加为当前视图控制器的子级。

 

- (void)removeFromParentViewController;

从其父级中删除视图控制器。

 

- (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;

两个视图控制器的子视图控制器之间的转换。

 

@property(nonatomic, readonly) BOOL shouldAutomaticallyForwardAppearanceMethods;

返回一个布尔值,指示是否将外观方法转发到子视图控制器。

 

- (void)beginAppearanceTransition:(BOOL)isAppearing animated:(BOOL)animated;

告诉儿童控制器它的外观即将改变。

 

- (void)endAppearanceTransition;

告诉儿童控制器它的外观已经改变。

 

- (void)setOverrideTraitCollection:(UITraitCollection *)collection forChildViewController:(UIViewController *)childViewController;

更改分配给指定子视图控制器的特征。

 

- (UITraitCollection *)overrideTraitCollectionForChildViewController:(UIViewController *)childViewController;

检索子视图控制器的特征集合。

 

- (void)willMoveToParentViewController:(UIViewController *)parent;

在视图控制器添加或从容器视图控制器中删除之前调用。

 

- (void)didMoveToParentViewController:(UIViewController *)parent;

在容器视图控制器中添加或删除视图控制器后调用。

 

@property(nonatomic, readonly) UIViewController *presentingViewController;

提供此视图控制器的视图控制器。

 

@property(nonatomic, readonly) UIViewController *presentedViewController;

视图控制器,由此视图控制器或视图控制器层次结构中的一个祖先呈现。

 

@property(nonatomic, weak, readonly) UIViewController *parentViewController;

收件人的父视图控制器。

 

@property(nonatomic, readonly, strong) UINavigationController *navigationController;

视图控制器层次结构中最近的祖先是导航控制器。

 

@property(nonatomic, readonly, strong) UISplitViewController *splitViewController;

视图控制器层次结构中最近的祖先是拆分视图控制器。

 

@property(nonatomic, readonly, strong) UITabBarController *tabBarController;

视图控制器层次结构中最近的祖先是标签栏控制器。

 

- (void)didReceiveMemoryWarning;

当应用程序收到内存警告时发送到视图控制器。

 

@property(nonatomic, copy) NSString *restorationIdentifier;

确定视图控制器是否支持状态恢复的标识符。

 

 

@property(nonatomic, readwrite, assign) Class<UIViewControllerRestoration> restorationClass;

负责在恢复应用程序状态时重新创建此视图控制器的类。

 

- (void)encodeRestorableStateWithCoder:(NSCoder *)coder;

编码视图控制器的状态相关信息。

 

- (void)decodeRestorableStateWithCoder:(NSCoder *)coder;

解码和恢复视图控制器的状态相关信息。

 

- (void)applicationFinishedRestoringState;

在其他对象解码完成后,在恢复的视图控制器上调用。

 

@property(nonatomic, readonly, strong) NSExtensionContext *extensionContext;

返回视图控制器的扩展上下文。

 

- (id<UIViewControllerPreviewing>)registerForPreviewingWithDelegate:(id<UIViewControllerPreviewingDelegate>)delegate sourceView:(UIView *)sourceView;

注册视图控制器以参与3D Touch预览(窥视)和提交(弹出)。

 

- (void)unregisterForPreviewingWithContext:(id<UIViewControllerPreviewing>)previewing;

取消注册由其上下文对象标识的先前注册的视图控制器。

 

@property(nonatomic, readonly) NSArray<id<UIPreviewActionItem>> *previewActionItems;

当用户在3D Touch预览上向上滑动时显示的快速操作。

 

@property(nonatomic, readonly) UIRectEdge preferredScreenEdgesDeferringSystemGestures;

您希望手势优先于系统手势的屏幕边缘

 

@property(nonatomic, readonly) UIViewController *childViewControllerForScreenEdgesDeferringSystemGestures;

返回应查询的子视图控制器,以查看其手势是否应优先。

 

- (void)setNeedsUpdateOfScreenEdgesDeferringSystemGestures;

更改用于延迟系统手势的屏幕边缘时,请调用此方法。

 

@property(nonatomic, readonly) UIViewController *childViewControllerForStatusBarHidden;

当系统需要视图控制器用于确定状态栏隐藏/未隐藏状态时调用。

 

@property(nonatomic, readonly) UIViewController *childViewControllerForStatusBarStyle;

当系统需要视图控制器用于确定状态栏样式时调用。

 

@property(nonatomic, readonly) UIStatusBarStyle preferredStatusBarStyle;

视图控制器的首选状态栏样式。

 

@property(nonatomic, readonly) BOOL prefersStatusBarHidden;

指定视图控制器是否更喜欢隐藏或显示状态栏。

 

@property(nonatomic, assign) BOOL modalPresentationCapturesStatusBarAppearance;

指定呈现非全屏的视图控制器是否从呈现视图控制器接管状态栏外观的控制。

 

@property(nonatomic, readonly) UIStatusBarAnimation preferredStatusBarUpdateAnimation;

指定用于隐藏和显示视图控制器状态栏的动画样式。

 

- (void)setNeedsStatusBarAppearanceUpdate;

向系统指示视图控制器状态栏属性已更改。

 

@property(nonatomic, readonly) BOOL prefersHomeIndicatorAutoHidden;

返回一个布尔值,指示是否允许系统隐藏可视指示符以返回到主屏幕。

 

@property(nonatomic, readonly) UIViewController *childViewControllerForHomeIndicatorAutoHidden;

返回有关其显示用于返回主屏幕的可视指示符的首选项的子视图控制器。

 

- (void)setNeedsUpdateOfHomeIndicatorAutoHidden;

通知UIKit您的视图控制器更新了有关返回主屏幕的可视指示器的首选项。

 

@property(nonatomic, readonly, strong) UINavigationItem *navigationItem;

用于表示父级导航栏中视图控制器的导航项。

 

@property(nonatomic) BOOL hidesBottomBarWhenPushed;

一个布尔值,指示当将视图控制器推入导航控制器时是否隐藏屏幕底部的工具栏。

 

- (void)setToolbarItems:(NSArray<UIBarButtonItem *> *)toolbarItems animated:(BOOL)animated;

设置要与视图控制器一起显示的工具栏项。

 

@property(nonatomic, strong) NSArray<__kindof UIBarButtonItem *> *toolbarItems;

与视图控制器关联的工具栏项。

 

@property(nonatomic, strong) UITabBarItem *tabBarItem;

标签栏项目,表示添加到选项卡栏控制器时的视图控制器。

 

@property(nonatomic, getter=isEditing) BOOL editing;

一个布尔值,指示视图控制器当前是否允许用户编辑视图内容。

 

- (void)setEditing:(BOOL)editing animated:(BOOL)animated;

@property(nonatomic, readonly) UIBarButtonItem *editButtonItem;

设置视图控制器是否显示可编辑视图。

 

- (void)addKeyCommand:(UIKeyCommand *)keyCommand;

将指定的键盘快捷方式与视图控制器关联。

 

- (void)removeKeyCommand:(UIKeyCommand *)keyCommand;

从视图控制器中删除键命令。

 

@property(nonatomic, readonly, copy) NSString *nibName;

视图控制器nib文件的名称(如果已经指定)

 

@property(nonatomic, readonly, strong) NSBundle *nibBundle;

视图控制器nib包文件

转载于:https://www.cnblogs.com/cchHers/p/11245037.html

 类似资料: