O'Reilly logo

iOS 5 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

2.15. 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-49).

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

Figure 2-49. 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

And that is followed by synthesizing the text view:

#import "Displaying_Long_Lines_of_Text_with_UITextViewViewController.h"

@implementation Displaying_Long_Lines_of_Text_with_UITextViewViewController

@synthesize myTextView;

...

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]; ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required