---
title: Introduction to Text System User Interface Layer
framework: cocoa
role: article
path: apple-archive/documentation/Cocoa/Conceptual/TextUILayer
---

# Introduction to Text System User Interface Layer

Explains how to implement the main, high-level interface to the Cocoa text system.

## Who Should Read This Document

You should read this document if your application needs to present a user interface to the full capabilities of the text system, that is, if your users need to edit substantial amounts of text.

To understand this material you should have a general understanding of Cocoa programming conventions, and you should have read *[Cocoa Text Architecture Guide](../../../TextFonts/Conceptual/CocoaTextArchitecture/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009459)*.

## Organization of This Document

This document contains the following articles:

- [The User-Interface Layer: NSTextView Class](Concepts/UILayer.html#//apple_ref/doc/uid/20000928-CJBJHGAG) describes the capabilities and features of the NSTextView class, through which most applications interact with the text system. - [Creating an NSTextView Object](Tasks/CreatingATextView.html#//apple_ref/doc/uid/20000931-CJBBIAAF) explains how to instantiate an `NSTextView` object using Interface Builder. - [Creating an NSTextView Programmatically](Tasks/CreateTextViewProg.html#//apple_ref/doc/uid/20000930-CJBBIAAF) explains how to create an `NSTextView` object in code and cause it to create its supporting web of text-handling objects. - [Putting an NSTextView Object in an NSScrollView](Tasks/TextInScrollView.html#//apple_ref/doc/uid/20000938-CJBBIAAF) shows how to programmatically configure an `NSTextView` object with scroll bars. - [Using Multiple NSTextViews](Tasks/MultipleViews.html#//apple_ref/doc/uid/20000934-CJBJHGAG) describes the attributes held in common by multiple text views configured to share a single layout manager. - [Plain and Rich Text Objects](Tasks/PlainRichText.html#//apple_ref/doc/uid/20000935-CJBJHGAG) explains the difference between plain text and rich text and lists the RTF control words that any text object recognizes. - [Setting Text Attributes](Tasks/SetTextAttributes.html#//apple_ref/doc/uid/20000936-CJBJHGAG) discusses text attributes and the action methods you can use to control them programmatically. - [Setting Text Margins](Tasks/SetTextMargins.html#//apple_ref/doc/uid/20001802-CJBJHGAG) describes the values, maintained by various text system objects, that affect the apparent margins surrounding text on a printed page or display.

## See Also

For more information, refer to the following documents:

- *[Cocoa Text Architecture Guide](../../../TextFonts/Conceptual/CocoaTextArchitecture/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009459)* provides an overview of the Cocoa text system. It also explains how the text system supports entering and modifying text and attributes through user interaction with the user interface layer. - *[Text System Storage Layer Overview](../TextStorageLayer/TextStorageLayer.html#//apple_ref/doc/uid/10000087i)* describes the facilities that the Cocoa text system uses to store the text and geometric shape information used for text layout.

[Next](Concepts/UILayer.html)

Copyright © 1997, 2012 Apple Inc. All Rights Reserved. [Terms of Use](http://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](http://www.apple.com/privacy/) | Updated: 2012-09-19
