iPhone Sample: Adding UILabel programatically

While developing my first iPhone game App, I’m finding Interface Builder very easy to use. However, in my coding, I had the need to add a UILabel programatically. Similar to other languages/platforms I’ve worked with, handling font size, color and weight can be a little confusing.

The code below shows how to:
– Create new UILabel
– Set UILabel position (x,y) to center and size
– Set UILabel font alignment, color, font name and size
– Add UILabel to your View
– Populate UILabel with an NSString for text.

UILabel *scoreLabel = [ [UILabel alloc ] initWithFrame:CGRectMake((self.bounds.size.width / 2), 0.0, 150.0, 43.0) ];
scoreLabel.textAlignment =  UITextAlignmentCenter;
scoreLabel.textColor = [UIColor whiteColor];
scoreLabel.backgroundColor = [UIColor blackColor];
scoreLabel.font = [UIFont fontWithName:@"Arial Rounded MT Bold" size:(36.0)];
[self addSubview:scoreLabel];
scoreLabel.text = [NSString stringWithFormat: @"%d", score];

The score value being set is an int that I’m incrementing based on CGRectIntersectsRect of two UIImageViews. I’ll post that example soon.

If you’ve got a better, more efficient way of doing the above, please feel free to comment.