---
title: CNContactViewController
framework: contactsui
role: symbol
role_heading: Class
path: contactsui/cncontactviewcontroller
---

# CNContactViewController

A view controller that displays a new, unknown, or existing contact.

## Declaration

```swift
class CNContactViewController
```

## Overview

Overview Present a CNContactViewController object when you want to display information about one of the user’s contacts. At creation time, you specify the type of contact you want to display: new, unknown, or existing.

## Topics

### Creating the Contact Viewer

- [init(for:)](contactsui/cncontactviewcontroller/init(for:).md)
- [init(forContact:)](contactsui/cncontactviewcontroller/init(forcontact:).md)
- [init(forUnknownContact:)](contactsui/cncontactviewcontroller/init(forunknowncontact:).md)
- [init(forNewContact:)](contactsui/cncontactviewcontroller/init(fornewcontact:).md)

### Handling Interactions with the Interface

- [delegate](contactsui/cncontactviewcontroller/delegate.md)
- [CNContactViewControllerDelegate](contactsui/cncontactviewcontrollerdelegate.md)

### Required Keys

- [descriptorForRequiredKeys()](contactsui/cncontactviewcontroller/descriptorforrequiredkeys().md)

### Displaying Contact Properties

- [contact](contactsui/cncontactviewcontroller/contact.md)
- [alternateName](contactsui/cncontactviewcontroller/alternatename.md)
- [message](contactsui/cncontactviewcontroller/message.md)
- [displayedPropertyKeys](contactsui/cncontactviewcontroller/displayedpropertykeys.md)

### Configuring the Contact’s Relationships

- [parentGroup](contactsui/cncontactviewcontroller/parentgroup.md)
- [parentContainer](contactsui/cncontactviewcontroller/parentcontainer.md)

### Contact Store

- [contactStore](contactsui/cncontactviewcontroller/contactstore.md)

### Customizing Contact Card

- [allowsEditing](contactsui/cncontactviewcontroller/allowsediting.md)
- [allowsActions](contactsui/cncontactviewcontroller/allowsactions.md)
- [shouldShowLinkedContacts](contactsui/cncontactviewcontroller/shouldshowlinkedcontacts.md)

### Highlighting a Property

- [highlightProperty(withKey:identifier:)](contactsui/cncontactviewcontroller/highlightproperty(withkey:identifier:).md)

## Relationships

### Inherits From

- [NSViewController](appkit/nsviewcontroller.md)
- [UIViewController](uikit/uiviewcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSEditor](appkit/nseditor.md)
- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSeguePerforming](appkit/nssegueperforming.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UIStateRestoring](uikit/uistaterestoring.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)
