UIViewController 类

定义

管理模型类和视图类之间的交互的类的基类

[Foundation.Register("UIViewController", true)]
public class UIViewController : UIKit.UIResponder, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, IDisposable, System.Collections.IEnumerable, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUITraitEnvironment
type UIViewController = class
    inherit UIResponder
    interface IEnumerable
    interface INSCoding
    interface INativeObject
    interface IDisposable
    interface INSExtensionRequestHandling
    interface IUIAppearanceContainer
    interface IUIContentContainer
    interface IUIFocusEnvironment
    interface IUITraitEnvironment
继承
UIViewController
派生
属性
实现

注解

UIViewController 是视图控制器层次结构的基类。 视图控制器管理 UIView和其他 UIViewController。 iOS 应用程序具有单个窗口,但多个屏幕,每个屏幕可能包含多个 UIView。 管理这些屏幕很复杂,需要响应用户输入和模型中的更改, (问题域) 。 这种管理和协调是 的工作 UIViewController

A UIViewController 有 3 个主要职责:

  • 布局出其组件 UIView。 这包括调整大小、响应方向更改等。
  • 调整显示结构以响应输入事件或模型类的状态
  • 将用户输入转换为与平台无关的模型服务请求

iOS 提供了许多标准视图控制器,例如 UINavigationControllerUITabBarControllerUIPageViewController。 通常,应用程序开发人员应更倾向于使用标准视图控制器来创建整体显示结构。 使用标准视图控制器可提供一致的标准行为,并使应用更容易符合 iOS 人机界面指南

此外,应用程序开发人员通常需要实现一个或多个“内容视图控制器”。 这些通常直接派生自 UIViewControllerUITableViewController。 内容视图控制器是应用程序开发人员编写自定义代码以满足 UIViewController上述职责的位置。 在利用 Apple 接口生成器的 Xamarin Studio 代码隐藏工具的应用程序中,大部分自定义代码将由 Xamarin Studio 自动生成。 使用 MonoTouch.Dialog 编写的应用程序通常不需要自定义编写的内容视图控制器,但可以使用一个用于体系结构一致性的应用程序。

单个视图控制器可能有许多视图和子控件,但通常单个视图控制器将具有单个根视图,主要涉及控制一个视图,或者主要涉及维护子控件集合。 在以下示例中,从“Hello World iPhone”示例中,类型为 HelloWorld_iPhoneViewController 的内容视图控制器被实例化并设置为RootViewController应用程序窗口的 :

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
       // create a new window instance based on the screen size
       window = new UIWindow (UIScreen.MainScreen.Bounds);

       viewController = new HelloWorld_iPhoneViewController ("HelloWorld_iPhoneViewController", null);
       window.RootViewController = viewController;
       window.MakeKeyAndVisible ();

       return true;
}

相比之下,以下从“iOS 标准控件”示例中获取的代码演示了 如何使用 UITableViewController 应用程序定义的 NavItemGroup 来管理一系列其他 UIViewController。 在此代码中,构造函数的第二个参数 NavItem 是在表中选择该项时所需的特定 UIViewController 子类型:

navGroup = new NavItemGroup ("Toolbars");
navItems.Add (navGroup);
navGroup.Items.Add (new NavItem ("Toolbar 1", "", typeof(Toolbar.Toolbar1_iPhone)));
navGroup.Items.Add (new NavItem ("Programmatic Toolbar", "", typeof(Toolbar.ProgrammaticToolbar_Controller)));
navGroup.Items.Add (new NavItem ("Toolbar Items", "", typeof(Toolbar.ToolbarItems)));

// create a table source from our nav items
tableSource = new NavItemTableSource (this.NavigationController, navItems);

// set the source on the table to our data source
base.TableView.Source = tableSource;

UIViewController 和 MVC 体系结构

下图显示了模型、视图和控制器类之间的经典关系。 箭头指示依赖关系:View 依赖于 Model 类来提供数据,控制器依赖于 Model 类来获取有关显示内容的信息,并依赖于 View 类来执行绘图。 此关系图是理想化的:模型中将有多个类,多个视图 UIView 实际上 NextResponder 可用于确定其 UIViewController,等等。

  • Model 类不知道关联的 View 类和控制器类。 这允许模型独立发展,并大大提高可维护性和可移植性
  • 事件处理程序在关注区域之间使用。 这允许仅包含与该事件相关的数据的强类型 T:System.EventArgs 。 这通过限制客户端对象对事件提供程序作用域的访问来提高可维护性。
  • 控制器对来自视图和模型的事件做出响应。 UIViewController例如,可能通过请求模型在摄氏度和华氏度温度单位之间转换来处理TouchUpInside输入事件。 相反,它可能会通过更改显示 (使可见的警告图标或一些这样的) 来响应模型“太热”事件。 视图会更新其显示,以响应模型事件提供的新数据。 视图类应尽可能被动。 不可维护软件中最常见的错误之一是 View 类充当控制器或“进入”数据模型,而不是接受作为事件参数传入的值。

UIViewController、Interface Builder、Storyboards 和 Nib 文件

XCode,Apple 的 IDE,包含接口生成器 (“IB”) ,该工具允许以交互方式创建用户界面并将其保存为“Nib”文件, (这些以 XML 格式保存,扩展名为“.xib”) 。 Xamarin Studio 为 nib 文件生成 Code Behind 类,通常这些类将是 的 UIViewController子类。 从 iOS 5 开始,应用程序开发人员可以使用“情节提要”直观地指定各个 UIViewControllers 之间的导航。 有关情节提要的详细信息,请参阅 情节提要简介

通用应用程序

Xamarin Studio 完全支持使用单个 UIViewController 应用程序控制为 iPad 或 iPhone 自定义的多个 UIView。 只要 UIView两个设备使用的 共享相同的元素,它们就可以共享相同的插座和操作,如“iPad + 通用 (iPhone + iPad) 应用”指南中所述。

但是,iPhone 和 iPad 版本不必使用相同的 UI 元素。 应用程序开发人员可能希望利用 iPad 上增加的屏幕空间和更大的控件集。 在这种情况下,应用程序开发人员应创建单独的 UIViewController,并使用类似于下面的代码加载它们,同样取自“iPad + 通用 (iPhone + iPad) 应用”指南。 要加载的 UIViewController 是在运行时根据对 调用确定的。

if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
    homeScreen = new Screens.HomeScreen_iPhone();
} else {
    homeScreen = new Screens.HomeScreen_iPad();
}
window.RootViewController = homeScreen;

状态还原

如果要在类中提供状态还原,需要手动将具有以下签名的方法添加到类:

[Adopts ("UIViewControllerRestoration")]
class MyUIViewController : UIViewController {

 [Export ("viewControllerWithRestorationIdentifierPath:")]
 static UIViewController FromIdentifierPath (string [] identifierComponents, NSCoder coder)
 {
    var sb = (UIStoryboard) coder.DecodeObject (UIStateRestoration.ViewControllerStoryboardKey);
    if (sb != null){
       var vc = (MyUIViewController) sb.InstantiateViewController ("MyViewController");
       vc.RestorationIdentifier = identifierComponents [identifierComponents.Length-1];
       vc.RestorationClass = Class.GetHandle (typeof (MyViewController));
    }
 }
}

UIViewController 子类

用例示例图
UIActivityViewController 从一组可能的活动中进行选择
UIPageViewController 将内容视图控制器显示为一系列页面
UINavigationController 使用标题和可选工具栏一次显示一个内容视图控制器
UIImagePickerController 选择和拍摄照片的标准 UINavigationController
UIVideoEditorController 用于查看和编辑视频和音频文件的标准 UINavigationController
UITabBarController 一次显示一个视图控制器的顶级控制器,由屏幕底部的工具栏选择。
UIReferenceLibraryViewController 提供术语及其字典定义的标准视图控制器。
UISplitViewController 显示并排视图控制器的仅限 iPad 的视图控制器。
UICollectionViewController 有效地显示大量以灵活方式排列的单元格。
UITableViewController 有效地显示大量垂直排列的单元格。

自适应布局和旋转

从 iOS 8 开始,iOS 8 中引入了一系列成语,以帮助开发人员创建适用于不同外形规格(如 iPhone 和 iPad)的应用程序和 UIViewControllers。

这将取代 iOS8 之前的设计,该设计侧重于支持两种不同的外形规格, (iPhone 或 iPad) 特定方向,并支持从一个接口方向到另一个接口方向的转换。

新应用程序在其 UI 上布局元素时,应考虑许多变量。 其中包括画布中的可用大小、UserInterfaceIdiom (iPad 或 iPhone) 、显示比例以及垂直和水平大小类。 第一个是main视图的大小,其余的存储在 中TraitCollection

轮换现在被视为类大小更改。 例如,处于纵向模式的 iPhone 具有固定的高度和紧凑的宽度。 将其切换到横向时,它将成为紧凑高度和常规宽度。

应用程序可以重写 TraitCollectionDidChange(UITraitCollection) 以响应对任何用户界面特征的更改。 在旋转或更改影响应用程序大小类的用户界面期间,将调用此方法。

发生 ViewWillTransitionToSize(CGSize, IUIViewControllerTransitionCoordinator) 旋转时调用 方法。

MVC、MVP 和 MVVM

.NET 开发人员将熟悉 Microsoft 推广的体系结构,这些体系结构与 MVC 的目标相同。 Model-View-Presenter (MVP) 和 Model-View-ViewModel (MVVM) 都努力保持模型类和显示类之间的分离。 熟悉 MVP 的开发人员将用于对通过协调的 Presenter 对象流向视图的数据建模,而不是使用 MVC 的模型,在该模型中视图直接订阅模型事件。 可以通过增加 的责任 UIViewController在 iOS 中执行 MVP 体系结构。 MVVM 的定义特征是使用数据绑定来确保 View 对象是被动的。 iOS 控件不支持数据绑定,因此无法使用 MVVM。 与 MVC 中提供的相比,MVVM 开发人员将更多地用于 View 和 Model 对象之间的“防火墙”。 MVVM 开发人员应提醒自己,确保其 View 对象尽可能被动,并且不会访问数据模型或接管控制器的责任。

UIViewController 和 MonoTouch.Dialog

MonoTouch.Dialog (“MT.D“) 允许使用声明性语句快速生成复杂的 UI。 与使用 Apple 的 Interface Builder 构建的应用程序相反,大多数 MT。D 应用程序使用预定义 DialogViewController 的 ,并且不会创建自己的 子类 UIViewController。 有关详细信息,请参阅 N:MonoTouch.Dialog 命名空间文档和 MonoTouch.Dialog 简介一文。

构造函数

UIViewController()

不带参数初始化此类的新实例的默认构造函数。

UIViewController(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

UIViewController(NSCoder)

从 unarchiver 对象中存储的数据初始化 对象的构造函数。

UIViewController(NSObjectFlag)

用于调用派生类的构造函数,以跳过初始化并仅分配 对象。

UIViewController(String, NSBundle)

使用 nib 文件中存储的信息创建视图控制器时使用的构造函数。

属性

AccessibilityAssistiveTechnologyFocusedIdentifiers

管理模型类和视图类之间的交互的类的基类

(继承自 UIResponder)
AccessibilityCustomActions

允许将方法作为辅助功能支持补充操作添加到 AccessibilityCustomActions

(继承自 UIResponder)
AccessibilityDragSourceDescriptors

管理模型类和视图类之间的交互的类的基类

(继承自 UIResponder)
AccessibilityDropPointDescriptors

管理模型类和视图类之间的交互的类的基类

(继承自 UIResponder)
AdditionalSafeAreaInsets

获取或设置其他安全区域内集,以考虑特定于应用的工具栏和其他特定于应用的 UI。

AutomaticallyAdjustsScrollViewInsets

开发人员不应使用此已弃用的属性。 开发人员应改用“UIScrollView.ContentInsetAdjustmentBehavior”。

AutomaticallyForwardAppearanceAndRotationMethodsToChildViewControllers

确定包含事件是否自动传播到嵌套视图控制器。

BottomLayoutGuide

开发人员不应使用此已弃用的属性。 相反,他们应使用 SafeAreaLayoutGuide

CanBecomeFirstResponder

确定此 UIREsponder 是否愿意成为第一响应者。

(继承自 UIResponder)
CanResignFirstResponder

确定此 UIResponder 是否愿意放弃其第一响应者状态。

(继承自 UIResponder)
ChildViewControllerForHomeIndicatorAutoHidden

获取一个子视图控制器,用于确定是否显示返回主屏幕的指示器。

ChildViewControllerForScreenEdgesDeferringSystemGestures

获取处理屏幕边缘手势时优先的子视图控制器(如果存在)。

ChildViewControllers

由此 UIViewController管理的 的 数组UIViewController

Class

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
ClassHandle

此类的句柄。

ContentSizeForViewInPopover

弹出框的默认内容大小。

DebugDescription

此对象的开发人员有意义的说明。

(继承自 NSObject)
DefinesPresentationContext

指定在显示另一个 UIViewController时是否显示此 UIViewControllerView 的 。

Description

对象的说明,即 ToString 的 Objective-C 版本。

(继承自 NSObject)
DisablesAutomaticKeyboardDismissal

如果 true为 ,则即使点击非输入控件,输入视图也将保持在屏幕上。

EdgesForExtendedLayout

指定 应如何 ParentViewController 扩展此 UIViewController的布局。

EditButtonItem

UIBarButtonItem 状态“Edit”和“Done”之间切换的 。

Editing

trueUIViewController如果 允许应用程序用户编辑内容,则UIView为 。

ExtendedLayoutIncludesOpaqueBars

扩展布局是否包括不透明条。

ExtensionContext

NSExtensionContext获取此视图控制器的 。

FocusItemContainer

获取焦点环境子项的容器。

Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 NSObject)
HidesBottomBarWhenPushed

指定当将其 UIViewController 推送到 UINavigationController上时,工具栏是否应可见。

HierarchyInconsistencyException

用于标识损坏 UIViewController 的层次结构的常量。

InputAccessoryView

对象成为第一个响应者时可以附加的自定义视图。

(继承自 UIResponder)
InputAccessoryViewController

获取成为第一个响应者时thisUIResponder要显示的自定义附件UIInputViewController

(继承自 UIResponder)
InputAssistantItem

获取将用于配置快捷栏的助手。

(继承自 UIResponder)
InputView

在对象成为第一个响应者时显示的自定义视图。 只读。

(继承自 UIResponder)
InputViewController

获取成为第一个响应者时thisUIResponder要显示的自定义UIInputViewController

(继承自 UIResponder)
InterfaceOrientation

接口的当前方向。

IsBeingDismissed

true 如果当前 UIViewController 正在消除,则为 。

IsBeingPresented

true 如果当前 UIViewController 正在呈现,则为 。

IsDirectBinding

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
IsFirstResponder

返回此 UIResponder 是否为第一响应方。

(继承自 UIResponder)
IsMovingFromParentViewController

true 如果当前 UIViewController 正在从其父 UIViewController级 中删除,则为 。

IsMovingToParentViewController

true 如果当前 UIViewController 正在添加到父 UIViewController级 ,则为 。

IsProxy

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
IsViewLoaded

一个 Boolean ,指示 是否 View 将 加载到内存中。

KeyCommands

应在此 UIResponder 上触发操作的关键命令。 只读。

(继承自 UIResponder)
ModalInPopover

true 如果此 UIViewController 应由 以模式方式呈现,则 UIPopoverController为 。

ModalPresentationCapturesStatusBarAppearance

UIViewController 在以模式方式显示但非全屏显示时,是否接管状态栏的控制权。

ModalPresentationStyle

演示 UIModalPresentationStyleUIViewController时要使用的 。

ModalTransitionStyle

UIModalTransitionStyle要使用的 PresentViewController(UIViewController, Boolean, Action)

ModalViewController

活动呈现视图的控制器。

NavigationController

最近的上级 UINavigationController

NavigationItem

一个 UINavigationItem ,它在其父级的 UINavigationController的 中NavigationBar表示此UIViewController

NextResponder

响应链上的下一个响应者

(继承自 UIResponder)
NibBundle

NSBundle从中实例化此UIViewController的 。

NibName

从中实例化此 UIViewController 的 nib 文件的名称,或 null

ParentFocusEnvironment

获取包含当前焦点环境的焦点环境。

ParentViewController

包含此 UIViewControllerUIViewController

PasteConfiguration

UIPasteConfiguration对象支持的 this

(继承自 UIResponder)
PopoverPresentationController

获取视图层次结构中最接近的上级, UIPopoverPresentationController 如果不存在,则为 或 null

PreferredContentSize

获取容器内容的首选大小。

PreferredFocusedView

如果不是 null,则指示默认情况下应接收焦点的子 UIView 级。

PreferredFocusEnvironments

系统以递归方式搜索以查找默认聚焦视图的 数组 IUIFocusEnvironment

PreferredScreenEdgesDeferringSystemGestures

获取其手势优先于系统手势的屏幕边缘。

PreferredStatusBarUpdateAnimation

隐藏和显示状态栏的首选动画样式。

PrefersHomeIndicatorAutoHidden

获取一个布尔值,该值指示是否首选隐藏 Home 指示器。

PresentationController

获取视图层次结构中最接近的上级, UIPresentationController 如果不存在,则为 或 null

PresentedViewController

UIViewController由此 UIViewController 或 的祖先UIViewControllerthis一呈现的 。

PresentingViewController

UIViewController表示此 UIViewController的 。

PreviewActionItems

获取当用户在 3D 触控预览中向上轻扫时显示的 数组 IUIPreviewActionItem

ProvidesPresentationContextTransitionStyle

true 如果此 UIViewController 替代它显示的 的 UIViewController 过渡样式,则为 。

RestorationClass

负责还原应用程序状态的类。

RestorationIdentifier

指定用于还原的 的 UIViewController 实例。

RestoresFocusAfterTransition

获取或设置在 UIViewController 转换到 后是否还原焦点。

RetainCount

返回对象的当前 Objective-C 保留计数。

(继承自 NSObject)
RotatingFooterView

需要在接口旋转期间转换的页脚视图

RotatingHeaderView

需要在接口轮换期间转换的标头视图。

SearchDisplayController

UISearchDisplayController与此 UIViewController关联的 (如果有)。

Self

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
ShouldAutomaticallyForwardAppearanceMethods

是否应将外观方法转发到子 UIViewController级 。

ShouldAutomaticallyForwardRotationMethods

是否应将旋转方法转发到子 UIViewController级 。

ShowDetailTargetDidChangeNotification

ShowDetailTargetDidChange 的通知常量

SplitViewController

最近的上级 UISplitViewControllernull

Storyboard

UIStoryboard创建此的 UIViewController ,或 null

Superclass

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
SuperHandle

用于表示此 NSObject 基类中方法的句柄。

(继承自 NSObject)
SystemMinimumLayoutMargins

获取根视图的最小布局边距。

TabBarController

最近的祖先 UITabBarControllernull

TabBarItem

一个 UITabBarItem ,它在其父的 UITabBarController的 中TabBar表示此UIViewController

TextInputContextIdentifier

一个标识符,指示此 UIResponder 应保留其文本输入模式信息。 只读。

(继承自 UIResponder)
TextInputMode

此 UIResponder 的文本输入模式。 只读。

(继承自 UIResponder)
Title

UIViewController的人类有意义的标识符。

ToolbarItems

上的 UINavigationController的 数组UIBarButtonItemToolbar

TopLayoutGuide

开发人员不应使用此已弃用的属性。 相反,他们应使用 SafeAreaLayoutGuide

TraitCollection

显示的特征,例如成语、缩放和大小类。

TransitioningDelegate

一个委托对象,负责生成 IUIViewControllerAnimatedTransitioning用于自定义演示文稿的 。

UndoManager

响应者链中最近的共享 NSUndoManager。 只读。

(继承自 UIResponder)
UserActivity

封装此响应方支持的用户活动的操作。

(继承自 UIResponder)
View

此视图控制器管理的视图。

ViewIfLoaded

View如果已实例化,则返回 ;否则返回 null

ViewRespectsSystemMinimumLayoutMargins

获取或设置一个布尔值,该值控制视图控制器的视图是否遵循最小布局边距。

WantsFullScreenLayout

true 如果视图应与状态栏重叠,则为 。

WeakTransitioningDelegate

用于为过渡动画和交互提供控制器的委托对象。

Zone

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)

方法

AccessibilityDecrement()

指示辅助功能元素递减其内容的值。

(继承自 UIResponder)
AccessibilityElementDidBecomeFocused()

指示辅助技术已将其焦点设置为 thisUIResponder

(继承自 UIResponder)
AccessibilityElementDidLoseFocus()

指示辅助技术已从 thisUIResponder更改其焦点。

(继承自 UIResponder)
AccessibilityElementIsFocused()

指示辅助技术是否侧重于 thisUIResponder

(继承自 UIResponder)
AccessibilityIncrement()

指示辅助功能元素递增其内容的值。

(继承自 UIResponder)
AccessibilityPerformEscape()

指示辅助功能系统关闭模式弹出或分层显示的元素。

(继承自 UIResponder)
AccessibilityPerformMagicTap()

切换应用的应用程序定义的“最重要的状态”。

(继承自 UIResponder)
AccessibilityScroll(UIAccessibilityScrollDirection)

重写后,允许辅助功能系统执行滚动。

(继承自 UIResponder)
Add(UIView)

这是 的 AddSubview(UIView)别名,但使用 Add 模式,因为它允许 C# 3.0 构造在创建对象后添加子视图。

AddChildViewController(UIViewController)

UIViewController将 添加为子级。

AddKeyCommand(UIKeyCommand)

添加 command 为可用于附加硬件键盘的快捷方式。

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

使用 NSString keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

使用字符串 keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
ApplicationFinishedRestoringState()

在状态还原期间对象解码完成时调用。

AttemptRotationToDeviceOrientation()

以编程方式触发视图的旋转。

AwakeFromNib()

从 nib 文件加载对象后调用。 替代器必须调用 base。AwakeFromNib () 。

(继承自 NSObject)
BecomeFirstResponder()

请求对象成为第一个响应者。

(继承自 UIResponder)
BeginAppearanceTransition(Boolean, Boolean)

使用 EndAppearanceTransition(),告诉孩子 UIViewController他们的 UIView即将出现或消失。

BeginInvokeOnMainThread(Action)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

异步调用main UI 线程上的指定代码。

(继承自 NSObject)
BeginRequestWithExtensionContext(NSExtensionContext)

主机应用即将发出请求时调用的方法。

Bind(NSString, NSObject, String, NSDictionary)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
Bind(String, NSObject, String, NSDictionary)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
BindingInfo(String)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
BindingOptionDescriptions(String)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
BindingValueClass(String)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
CanPaste(NSItemProvider[])

获取是否可以 this 接受 的粘贴操作。

(继承自 UIResponder)
CanPerform(Selector, NSObject)

确定此 UIResponder 是否可以执行指定的操作。 通常用于探测编辑命令。

(继承自 UIResponder)
CanPerformUnwind(Selector, UIViewController, NSObject)

指定这 UIViewController 是否支持特定的展开 segue

ChildViewControllerForStatusBarHidden()

重写时,返回 UIViewController,用于确定状态栏是隐藏还是取消隐藏。

ChildViewControllerForStatusBarStyle()

重写时,返回确定状态栏样式的 UIViewController。

CommitEditing()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
ConformsToProtocol(IntPtr)

调用以确定此对象是否实现指定的协议。

(继承自 NSObject)
Copy()

执行基础 Objective-C 对象的副本。

(继承自 NSObject)
Copy(NSObject)

指示“复制”编辑操作。

(继承自 UIResponder)
Cut(NSObject)

指示“剪切”编辑操作。

(继承自 UIResponder)
DangerousAutorelease()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
DangerousRelease()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
DangerousRetain()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
DecodeRestorableState(NSCoder)

使用 EncodeRestorableState(NSCoder)允许自定义状态还原。

Delete(NSObject)

指示“删除”编辑操作。

(继承自 UIResponder)
DidAnimateFirstHalfOfRotation(UIInterfaceOrientation)

在两步旋转动画第一部分结束时调用的已弃用函数。

DidChange(NSKeyValueChange, NSIndexSet, NSString)

指示对多关系的索引发生了更改。

(继承自 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
DidChangeValue(String)

指示对指定的键进行了更改。

(继承自 NSObject)
DidMoveToParentViewController(UIViewController)

在 从父 UIViewController级 添加或删除后this调用。

DidReceiveMemoryWarning()

当系统内存不足时调用。

DidRotate(UIInterfaceOrientation)

在 UI 旋转后调用。

DidUpdateFocus(UIFocusUpdateContext, UIFocusAnimationCoordinator)

指示焦点已更改,详见 context

DismissModalViewController(Boolean)

关闭接收方提交的模式视图控制器。

DismissMoviePlayerViewController()

消除 MPMoviePlayerViewController

DismissViewController(Boolean, Action)

关闭显示的视图控制器。

DismissViewControllerAsync(Boolean)

关闭显示的视图控制器。

Dispose()

释放 NSObject 对象使用的资源。

(继承自 NSObject)
Dispose(Boolean)

释放 UIViewController 对象使用的资源。

DoesNotRecognizeSelector(Selector)

指示此对象无法识别指定的选择器。

(继承自 NSObject)
EncodeRestorableState(NSCoder)

使用 DecodeRestorableState(NSCoder)允许自定义状态还原。

EncodeTo(NSCoder)

在提供的编码器上对对象的状态进行编码

EndAppearanceTransition()

使用 BeginAppearanceTransition(Boolean, Boolean),告诉子 UIViewController级 的子视图刚刚出现或消失。

Equals(NSObject)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
Equals(Object)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
ExposedBindings()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetAllowedChildViewControllersForUnwinding(UIStoryboardUnwindSegueSource)

子对象的数组 UIViewController ,应进行搜索以确定它们是否为展开 segue 目标。

GetBindingInfo(NSString)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetBindingOptionDescriptions(NSString)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetBindingValueClass(NSString)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetChildViewControllerContainingSegueSource(UIStoryboardUnwindSegueSource)

UIViewController子级,它是展开 segue 的源。

GetDictionaryOfValuesFromKeys(NSString[])

检索指定键的值。

(继承自 NSObject)
GetEnumerator()

返回一个枚举器,该枚举器列出所有子 UIView

GetHashCode()

为当前实例生成哈希代码。

(继承自 NSObject)
GetMethodForSelector(Selector)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetNativeField(String)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetNativeHash()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
GetOverrideTraitCollectionForChildViewController(UIViewController)

获取 UITraitCollection 此控制器的指定子视图控制器的 。

GetSegueForUnwinding(UIViewController, UIViewController, String)

定义要在两 UIViewController个 s 之间使用的 segue。

GetSizeForChildContentContainer(IUIContentContainer, CGSize)

使用父容器的大小获取指定子 IUIContentContainer 级内容的大小。

GetSupportedInterfaceOrientations()

UIViewController支持的方向。

GetTargetForAction(Selector, NSObject)

返回响应操作的对象。

(继承自 UIResponder)
GetTargetViewControllerForAction(Selector, NSObject)

获取指定操作和发送方的视图控制器。

GetViewControllerForUnwind(Selector, UIViewController, NSObject)

用于在子 UIViewController级 中搜索特定展开 segue。

Init()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
InitializeHandle(IntPtr)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
InitializeHandle(IntPtr, String)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
Invoke(Action, Double)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
Invoke(Action, TimeSpan)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
InvokeOnMainThread(Action)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
InvokeOnMainThread(Selector, NSObject)

在main UI 线程上同步调用指定的代码。

(继承自 NSObject)
IsEqual(NSObject)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
IsKindOfClass(Class)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
IsMemberOfClass(Class)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
LoadView()

初始化 View 属性。

LoadViewIfNeeded()

如有必要,请从情节提要或 NIB 同步加载 View

MakeTextWritingDirectionLeftToRight(NSObject)

设置文本从左到右的写入方向。

(继承自 UIResponder)
MakeTextWritingDirectionRightToLeft(NSObject)

设置文本从右到左的写入方向。

(继承自 UIResponder)
MarkDirty()

将常规对等对象 (IsDirectBinding 为 true) 提升为 toggleref 对象。

(继承自 NSObject)
MotionBegan(UIEventSubtype, UIEvent)

在动作 (摇动) 已开始时调用的方法。

(继承自 UIResponder)
MotionCancelled(UIEventSubtype, UIEvent)

如果操作系统取消动作 (摇动) 事件,则调用的方法。

(继承自 UIResponder)
MotionEnded(UIEventSubtype, UIEvent)

运动 (摇动) 完成时调用的方法。

(继承自 UIResponder)
MutableCopy()

创建指定 NSObject 的可变副本。

(继承自 NSObject)
ObjectDidEndEditing(NSObject)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

指示相对于此对象的指定 keyPath 处的值已更改。

(继承自 NSObject)
Paste(NSItemProvider[])

调用 以从 执行粘贴操作。

(继承自 UIResponder)
Paste(NSObject)

指示“粘贴”编辑操作。

(继承自 UIResponder)
PerformSegue(String, NSObject)

执行指定的 UIStoryboardSegue

PerformSelector(Selector)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PerformSelector(Selector, NSObject)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double)

在当前实例上调用选择器,如果 obj 不为 null,则将其作为其单个参数传递。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PerformSelector(Selector, NSObject, NSObject)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PreferredContentSizeDidChangeForChildContentContainer(IUIContentContainer)

通知此控制器指定子容器的内容的首选大小已更改。

PreferredInterfaceOrientationForPresentation()

最能显示此 UIViewController的内容的方向。

PreferredStatusBarStyle()

此 UIViewController 的首选 UIStatusBarStyle。

PrefersStatusBarHidden()

此 UIViewController 是否倾向于隐藏状态栏。

PrepareForInterfaceBuilder()

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
PrepareForInterstitialAds()

准备视图控制器以显示间隙广告。

PrepareForSegue(UIStoryboardSegue, NSObject)

通知应用程序 UIStoryboardSegue 即将执行 。

PresentModalViewController(UIViewController, Boolean)

应用程序开发人员应使用 PresentViewController(UIViewController, Boolean, Action) 而不是此已弃用的方法。

PresentMoviePlayerViewController(MPMoviePlayerViewController)

使用标准切换效果显示电影控制器。

PresentViewController(UIViewController, Boolean, Action)

以模式方式显示视图控制器。

PresentViewControllerAsync(UIViewController, Boolean)

以模式方式显示视图控制器。

PressesBegan(NSSet<UIPress>, UIPressesEvent)

指示已在遥控器或游戏控制器上按下物理按钮。

(继承自 UIResponder)
PressesCancelled(NSSet<UIPress>, UIPressesEvent)

指示由于系统事件而取消了物理按钮按下事件。

(继承自 UIResponder)
PressesChanged(NSSet<UIPress>, UIPressesEvent)

指示 Force 的值 evt 已更改。

(继承自 UIResponder)
PressesEnded(NSSet<UIPress>, UIPressesEvent)

指示在遥控器或游戏控制器上按下物理按钮的结束。

(继承自 UIResponder)
RegisterForPreviewingWithDelegate(IUIViewControllerPreviewingDelegate, UIView)

为 3D Touch 速览和弹出操作注册此视图控制器。

ReloadInputViews()

当此对象是第一响应者时,汇报自定义输入和附件视图。

(继承自 UIResponder)
RemoteControlReceived(UIEvent)

指示已收到远程控制事件。

(继承自 UIResponder)
RemoveFromParentViewController()

从其 ParentViewControllerUIViewController中移除此 UIViewController

RemoveKeyCommand(UIKeyCommand)

删除以前添加的硬件键盘加速键。

RemoveObserver(NSObject, NSString)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
ResignFirstResponder()

当此 UIResponder 被要求辞去其第一响应者状态时调用。

(继承自 UIResponder)
RespondsToSelector(Selector)

此对象是否识别指定的选择器。

(继承自 NSObject)
RestoreUserActivityState(NSUserActivity)

还原持续运行指定用户活动所需的状态。

(继承自 UIResponder)
Select(NSObject)

指示“选择”编辑操作。|B

(继承自 UIResponder)
SelectAll(NSObject)

指示“全选”编辑操作。

(继承自 UIResponder)
SetEditing(Boolean, Boolean)

打开或关闭编辑模式。

SetNativeField(String, NSObject)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
SetNeedsFocusUpdate()

当 是活动焦点环境时 this ,请求焦点更新,这可能会更改 PreferredFocusedView。 (另请参阅 UpdateFocusIfNeeded()。)

SetNeedsStatusBarAppearanceUpdate()

通知系统状态栏的属性已更改。

SetNeedsUpdateOfHomeIndicatorAutoHidden()

控制开发人员的视图控制器是否应显示返回到主屏幕的指示器。

SetNeedsUpdateOfScreenEdgesDeferringSystemGestures()

更改其手势优先于系统手势的屏幕边缘。

SetNilValueForKey(NSString)

将指定键的值设置为 null。

(继承自 NSObject)
SetOverrideTraitCollection(UITraitCollection, UIViewController)

UITraitCollection为此控制器的指定子视图控制器设置 对象。

SetToolbarItems(UIBarButtonItem[], Boolean)

将 添加到UIBarButtonItemUIToolbar

SetValueForKey(NSObject, NSString)

将键指定的属性的值设置为指定的值。

(继承自 NSObject)
SetValueForKeyPath(IntPtr, NSString)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

(继承自 NSObject)
SetValueForKeyPath(NSObject, NSString)

设置可以使用键路径访问的属性的值。

(继承自 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

指示尝试将值写入未定义的键。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

将此 NSObject 的值设置为指定字典中的值。

(继承自 NSObject)
ShouldAutorotate()

打开或关闭自动旋转。

ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)

trueUIViewController如果 支持旋转到指定的 UIInterfaceOrientation,则为 。

ShouldPerformSegue(String, NSObject)

是否应执行 segue。

ShouldUpdateFocus(UIFocusUpdateContext)

this 失去或接收焦点之前调用。 如果任一焦点环境返回 false,则取消焦点更新。

ShowDetailViewController(UIViewController, NSObject)

在详细信息上下文中显示此视图控制器。

ShowViewController(UIViewController, NSObject)

显示此视图控制器。

SystemLayoutFittingSizeDidChangeForChildContentContainer(IUIContentContainer)

通知此容器自动布局调整了指定的子容器的大小。

ToggleBoldface(NSObject)

切换使用加粗字体。

(继承自 UIResponder)
ToggleItalics(NSObject)

切换斜体字体的使用。

(继承自 UIResponder)
ToggleUnderline(NSObject)

切换下划线的使用。

(继承自 UIResponder)
ToString()

返回当前实例值的字符串表示形式。

(继承自 NSObject)
TouchesBegan(NSSet, UIEvent)

当一个或多个手指触摸屏幕时发送。

(继承自 UIResponder)
TouchesCancelled(NSSet, UIEvent)

在取消触摸处理时发送。

(继承自 UIResponder)
TouchesEnded(NSSet, UIEvent)

从屏幕上抬起一个或多个手指时发送。

(继承自 UIResponder)
TouchesEstimatedPropertiesUpdated(NSSet)

更新 的估计属性 touches 时调用。

(继承自 UIResponder)
TouchesMoved(NSSet, UIEvent)

当一个或多个手指在屏幕上移动时发送。

(继承自 UIResponder)
TraitCollectionDidChange(UITraitCollection)

视图控制器的特征集合发生更改时调用的方法。

Transition(UIViewController, UIViewController, Double, UIViewAnimationOptions, Action, UICompletionHandler)

用于在两个视图控制器的子视图控制器之间切换。

TransitionAsync(UIViewController, UIViewController, Double, UIViewAnimationOptions, Action)

用于在两个视图控制器的子视图控制器之间切换。

Unbind(NSString)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
Unbind(String)
已过时.

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
UnregisterForPreviewingWithContext(IUIViewControllerPreviewing)

previewing停止处理 3D Touch 速览和弹出输入。

Unwind(UIStoryboardSegue, UIViewController)

在展开路径中任何 UIViewController 对象的展开 segue 期间调用。

UpdateFocusIfNeeded()

如果任何焦点环境有挂起的更新,此方法将强制立即更新焦点。 与 不同 SetNeedsFocusUpdate(),此方法可由任何 UIViewController调用,无论它当前是否包含焦点。

UpdateUserActivityState(NSUserActivity)

汇报给定的用户活动状态。

(继承自 UIResponder)
UpdateViewConstraints()

当 需要重新计算其布局约束时 UIViewController 调用。

ValueForKey(NSString)

返回与指定键关联的属性的值。

(继承自 NSObject)
ValueForKeyPath(NSString)

返回可以使用键路径访问的属性的值。

(继承自 NSObject)
ValueForUndefinedKey(NSString)

指示尝试读取未定义键的值。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
ViewDidAppear(Boolean)

在 将 添加到视图层次结构后 View 调用。

ViewDidDisappear(Boolean)

此方法在 从显示UIView层次结构中删除 的 View 属性后UIViewControllerUIViewthis调用。

ViewDidLayoutSubviews()

在 已布局其子视图后 View 调用。

ViewDidLoad()

在控制器的 View 加载到内存后调用。

ViewDidUnload()

在 iOS 6 及更高版本中,永远不会调用此方法。 在以前的版本中,当控制器的视图从内存中释放时调用它。

ViewLayoutMarginsDidChange()

更改视图的布局边距时调用的方法。

ViewSafeAreaInsetsDidChange()

通过系统条形图的大小更改或 AdditionalSafeAreaInsets 属性更改更改安全区域插页时调用的方法。

ViewWillAppear(Boolean)

View 将 添加到视图层次结构之前调用 。

ViewWillDisappear(Boolean)

在从显示UIView层次结构中删除UIViewUIViewControllerView 的 之前,将调用此方法。

ViewWillLayoutSubviews()

在布局其子视图之前 View 调用 。

ViewWillTransitionToSize(CGSize, IUIViewControllerTransitionCoordinator)

对于 UIViewController 作为应用扩展一部分的对象,在重设 大小之前 View 调用 。

ViewWillUnload()

在 iOS 6 及更高版本中,永远不会调用此方法。 在早期版本中,它在控制器的视图从内存中释放之前调用。

WillAnimateFirstHalfOfRotation(UIInterfaceOrientation, Double)

在轮换的前半部分发送的已弃用方法。 应用程序开发人员应改用 WillAnimateRotation(UIInterfaceOrientation, Double)

WillAnimateRotation(UIInterfaceOrientation, Double)

在一步式接口旋转之前调用。

WillAnimateSecondHalfOfRotation(UIInterfaceOrientation, Double)

在轮换的后半部分发送的已弃用方法。 应用程序开发人员应改用 WillAnimateRotation(UIInterfaceOrientation, Double)

WillChange(NSKeyValueChange, NSIndexSet, NSString)

指示指定键中指定索引的值即将更改。

(继承自 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

管理模型类和视图类之间的交互的类的基类

(继承自 NSObject)
WillChangeValue(String)

指示指定键的值即将更改。

(继承自 NSObject)
WillMoveToParentViewController(UIViewController)

在添加或删除 this 容器 UIViewController之前调用。

WillRotate(UIInterfaceOrientation, Double)

在用户界面轮换之前调用。

WillTransitionToTraitCollection(UITraitCollection, IUIViewControllerTransitionCoordinator)

通知 this 其特征集合将更改为 traitCollection,由 协调 coordinator

扩展方法

GetDebugDescription(INSObjectProtocol)

管理模型类和视图类之间的交互的类的基类

DisplayingBannerAd(UIViewController)

管理模型类和视图类之间的交互的类的基类

GetCanDisplayBannerAds(UIViewController)

管理模型类和视图类之间的交互的类的基类

GetInterstitialPresentationPolicy(UIViewController)

管理模型类和视图类之间的交互的类的基类

GetOriginalContentView(UIViewController)

管理模型类和视图类之间的交互的类的基类

PresentingFullScreenAd(UIViewController)

管理模型类和视图类之间的交互的类的基类

RequestInterstitialAdPresentation(UIViewController)

管理模型类和视图类之间的交互的类的基类

SetCanDisplayBannerAds(UIViewController, Boolean)

管理模型类和视图类之间的交互的类的基类

SetInterstitialPresentationPolicy(UIViewController, ADInterstitialPresentationPolicy)

管理模型类和视图类之间的交互的类的基类

ShouldPresentInterstitialAd(UIViewController)

管理模型类和视图类之间的交互的类的基类

GetAccessibilityCustomRotors(NSObject)

获取适用于 this 对象的 对象的数组UIAccessibilityCustomRotor

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

设置适用于 this 对象的 对象数组UIAccessibilityCustomRotor

GetTransitionCoordinator(UIViewController)

IUIViewControllerTransitionCoordinator 协调指定 UIViewController 的转换。

GetFocusItemContainer(IUIFocusEnvironment)

获取环境的焦点容器。

GetParentFocusEnvironment(IUIFocusEnvironment)

获取父焦点环境。

GetPreferredFocusEnvironments(IUIFocusEnvironment)

获取环境在更新焦点时首选的焦点环境列表(按优先级排序)。

CanPaste(IUIPasteConfigurationSupporting, NSItemProvider[])

true如果响应方可以从指定的项提供程序粘贴,则返回 。

Paste(IUIPasteConfigurationSupporting, NSItemProvider[])

执行粘贴。

DecreaseSize(UIResponder, NSObject)

硬件键盘请求 (Command-减) 来减小 的大小 UIResponder

IncreaseSize(UIResponder, NSObject)

硬件键盘请求 (Command-plus) 来增加 的大小 UIResponder

CollapseSecondaryViewController(UIViewController, UIViewController, UISplitViewController)

折叠上的辅助视图控制器 splitViewController

GetSplitViewController(UIViewController)

返回嵌套视图控制器的拆分视图控制器。

SeparateSecondaryViewControllerForSplitViewController(UIViewController, UISplitViewController)

返回 的 splitViewController单独辅助视图控制器。

适用于

另请参阅