15.2. Drawing Text

Problem

You want to be able to draw text on the screen of an iOS device.

Solution

Use the drawAtPoint:withFont: method of NSString.

Discussion

To draw text, we can use some really handy methods built into the NSString class, such as drawAtPoint:withFont:. Before we proceed further, make sure that you have followed the instructions in Recipe 15.0. You should now have a view object, subclassed from UIView, named GraphicsViewControllerView. Open that file. If the drawRect: instance method of the view object is commented out, remove the comments until you have that method in your view object:

#import "GraphicsViewControllerView.h"

@implementation GraphicsViewControllerView

- (id)initWithFrame:(CGRect)frame{
  self = [super initWithFrame:frame];
  if (self) {
    // Initialization code
  }
  return self;
}

- (void)drawRect:(CGRect)rect{
  
}

@end

The drawRect: method is where we’ll do the drawing, as mentioned before. Here, we can start loading the font, and then draw a simple string on the screen at point 40 on the x axis and 180 on the y axis (Figure 15-11):

- (void)drawRect:(CGRect)rect{
  
  UIFont *helveticaBold =  [UIFont fontWithName:@"HelveticaNeue-Bold"
                                           size:40.0f];
  
  NSString *myString = @"Some String";
  
  [myString drawAtPoint:CGPointMake(40, 180)
               withFont:helveticaBold];
  
}

In this code, we are simply loading a bold Helvetica font at size 40, and using it to draw the text Some String at point (40, 180).

Figure 15-11. A random string drawn on the graphical context of a view

Get iOS 5 Programming Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.