2.20. Displaying Long Lines of Text with UITextView

Problem

You want to display multiple lines of text in your UI inside one scrollable view.

Solution

Use the UITextView class.

Discussion

The UITextView class can display multiple lines of text and contain scrollable content, meaning that if the contents run off the boundaries of the text view, the text view’s internal components allow the user to scroll the text up and down to see different parts of the text. An example of a text view in an iOS app is the Notes app on the iPhone (Figure 2-59).

Notes app on the iPhone uses a text view to render text

Figure 2-59. Notes app on the iPhone uses a text view to render text

Let’s create a text view and see how it works. We start off by declaring the text view in our view controller’s header file:

#import <UIKit/UIKit.h>

@interface Displaying_Long_Lines_of_Text_with_UITextViewViewController
           : UIViewController

@property (nonatomic, strong) UITextView *myTextView;

@end

Now it’s time to create the text view itself. We will make the text view as big as the view controller’s view:

- (void)viewDidLoad{
  [super viewDidLoad];

  self.view.backgroundColor = [UIColor whiteColor];

  self.myTextView = [[UITextView alloc] initWithFrame:self.view.bounds];
  self.myTextView.text = @"Some text here...";
  self.myTextView.font = [UIFont systemFontOfSize:16.0f];
  [self.view addSubview:self.myTextView];

}

Now let’s run the app in iOS Simulator and see how it looks (Figure 2-60).

Figure 2-60. A ...

Get iOS 6 Programming Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.