Tuesday, 6 August 2013

Draw text outside of CGRect.

Draw text outside of CGRect.

I am using Apple's Sample Code TheElements for this question. How would I
go about drawing text outside of the elementSymbolRectangle. For example I
would like to display the Elements Name, but I need it to be outside of
the elementSymbolRectangle. I am new to programming and would appreciate
any help.
Thanks
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self setAutoresizesSubviews:YES];
[self setupUserInterface];
// set the background color of the view to clearn
self.backgroundColor=[UIColor clearColor];
}
return self;
}
- (void)jumpToWikipedia:(id)sender {
// create the string that points to the correct Wikipedia page for
the element name
NSString *wikiPageString = [NSString
stringWithFormat:@"http://en.wikipedia.org/wiki/%@",
self.element.name];
if (![[UIApplication sharedApplication] openURL:[NSURL
URLWithString:wikiPageString]])
{
// there was an error trying to open the URL. for the moment
we'll simply ignore it.
}
}
- (void)drawRect:(CGRect)rect {
// get the background image for the state of the element
// position it appropriately and draw the image
//
UIImage *backgroundImage = [self.element
stateImageForAtomicElementView];
CGRect elementSymbolRectangle = CGRectMake(0, 0, [backgroundImage
size].width, [backgroundImage size].height);
[backgroundImage drawInRect:elementSymbolRectangle];
// all the text is drawn in white
[[UIColor whiteColor] set];
// draw the element number
UIFont *font = [UIFont boldSystemFontOfSize:32];
CGPoint point = CGPointMake(10,5);
[[NSString stringWithFormat:@"%@", self.element.atomicNumber]
drawAtPoint:point withFont:font];
// draw the element symbol
CGSize stringSize = [self.element.symbol sizeWithFont:font];
point = CGPointMake((self.bounds.size.width-stringSize.width-10),5);
[self.element.symbol drawAtPoint:point withFont:font];

No comments:

Post a Comment