Here is my code. I have a 35x480 view and I draw text rotated 90 degrees. Hope this helps. I draw an image and then text so that it appears. It looks like a window title.
I draw an image, then text in drawRect.
@synthesize topView; @synthesize delegate; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; topView.backgroundColor = [UIColor clearColor]; topView.opaque = NO; } return self; } // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { UIGraphicsBeginImageContext(img.image.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSaveGState(context); // draw titleborder CGRect titleRect = CGRectMake(0, 0, 35, 480); NSString *filePath = [[NSBundle mainBundle] pathForResource:@"titleborder" ofType:@"png"]; UIImage *titleImage = [[UIImage alloc] initWithContentsOfFile:filePath]; [titleImage drawInRect:titleRect]; [self bringSubviewToFront:topView]; UIFont *font = [UIFont boldSystemFontOfSize:16.0]; CGRect textRect = CGRectMake(0, rect.size.height/2, 480, 40); NSLog(@"text rect frame: %@", NSStringFromCGRect(textRect)); [self drawText:[[NSString alloc] initWithFormat:@"My Window Title"] rect:textRect context:context font:font red:1.0 green:1.0 blue:1.0 alpha:1.0] ; CGContextRestoreGState(context); } - (void) drawText: (NSString *)text rect: (CGRect)rect context:(CGContextRef)context font:(UIFont *)font red:(CGFloat)r green: (CGFloat)g blue:(CGFloat)b alpha:(CGFloat)alpha { CGContextSetTextDrawingMode(context, kCGTextFill); CGContextSetRGBFillColor(context, r, g, b, alpha); // 6 CGContextSetRGBStrokeColor(context, 1, 1, 1, 1); CGAffineTransform transform1 = CGAffineTransformMakeRotation(-90.0 * M_PI/180.0); CGContextConcatCTM(context, transform1); CGSize sizeOfString = [text sizeWithFont:font]; CGContextTranslateCTM(context, (sizeOfString.width/2) - 420,-232); [text drawInRect:rect withFont:font lineBreakMode:UILineBreakModeClip alignment:UITextAlignmentLeft]; }
source share