<!--
{
  "availability" : [
    "iOS: 2.0.0 - 9.0.0",
    "iPadOS: 2.0.0 - 9.0.0",
    "macCatalyst: 13.1.0 - 13.1.0"
  ],
  "documentType" : "symbol",
  "framework" : "AddressBookUI",
  "identifier" : "/documentation/AddressBookUI/ABNewPersonViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Address Book UI"
    ],
    "preciseIdentifier" : "c:objc(cs)ABNewPersonViewController"
  },
  "title" : "ABNewPersonViewController"
}
-->

# ABNewPersonViewController

A view controller presenting an interface to create a contact.

```
class ABNewPersonViewController
```

## Overview

New-person view controllers are modal view controllers that manage a set of view controllers used to create a contact (`ABPersonRef`) and edit its properties.

> Important:
> New-person view controllers must be used with a navigation controller in order to function properly.  It is recommended that you present a new-person view controller modally.

### Subclassing

The `ABNewPersonViewController` class does not support subclassing.

## Topics

### Responding to View Controller Interactions

[`newPersonViewDelegate`](/documentation/AddressBookUI/ABNewPersonViewController/newPersonViewDelegate)

The delegate of a new-person view controller.

[`ABNewPersonViewControllerDelegate`](/documentation/AddressBookUI/ABNewPersonViewControllerDelegate)

The `ABNewPersonViewControllerDelegate` protocol declares the interface that [`ABNewPersonViewController`](/documentation/AddressBookUI/ABNewPersonViewController) delegates must implement.

### Displaying Person Properties

[`displayedPerson`](/documentation/AddressBookUI/ABNewPersonViewController/displayedPerson)

Optional. Specifies the person properties that the new-person view controller pre-fills in its views.

### Configuring New Person Views

[`addressBook`](/documentation/AddressBookUI/ABNewPersonViewController/addressBook)

Optional. The address book to which the new contact is added.

[`parentGroup`](/documentation/AddressBookUI/ABNewPersonViewController/parentGroup)

Optional. Specifies the group to which to add the new contact on save.

## Relationships

### Conforms To

[`UIContentContainer`](/documentation/UIKit/UIContentContainer)

[`UIFocusEnvironment`](/documentation/UIKit/UIFocusEnvironment)

[`UIAppearanceContainer`](/documentation/UIKit/UIAppearanceContainer)

[`UIStateRestoring`](/documentation/UIKit/UIStateRestoring)

[`Equatable`](/documentation/Swift/Equatable)

[`UIPasteConfigurationSupporting`](/documentation/UIKit/UIPasteConfigurationSupporting)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`UITraitChangeObservable-67e94`](/documentation/UIKit/UITraitChangeObservable-67e94)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`UIUserActivityRestoring`](/documentation/UIKit/UIUserActivityRestoring)

[`NSExtensionRequestHandling`](/documentation/Foundation/NSExtensionRequestHandling)

[`UIResponderStandardEditActions`](/documentation/UIKit/UIResponderStandardEditActions)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

[`Hashable`](/documentation/Swift/Hashable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`UITraitEnvironment`](/documentation/UIKit/UITraitEnvironment)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`UIActivityItemsConfigurationProviding`](/documentation/UIKit/UIActivityItemsConfigurationProviding)

[`Sendable`](/documentation/Swift/Sendable)

### Inherits From

[`UIViewController`](/documentation/UIKit/UIViewController)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)