tags:

views:

119

answers:

1

Hi all,

Can't seem to get rid of a warning. The warning is: 'UIImage' may not respond to '-scaleToSize'

above the @implmentation MyViewController I have this @implementation:

@implementation  UIImage (scale)

-(UIImage*)scaleToSize:(CGSize)size

{
UIGraphicsBeginImageContext(size);
[self drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}

@end

Then I have MyViewController implementation

@implementation  TodayNewsTableViewController

@synthesize dataList;

......

- (UITableViewCell  *)tableView:(UITableView  *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath 

{

    static NSString *MainNewsCellIdentifier = @"MainNewsCellIdentifier";

UITableViewCell  *cell = [tableView dequeueReusableCellWithIdentifier: MainNewsCellIdentifier];

    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier: MainNewsCellIdentifier] autorelease];

    }

    NSUInteger row = [indexPath row];

NSDictionary *stream = (NSDictionary *) [dataList objectAtIndex:row];

NSString *title = [stream valueForKey:@"title"];

if( ! [title isKindOfClass:[NSString class]] )

{

cell.textLabel.text = @"";

}

else 

{

cell.textLabel.text = title;

}

cell.textLabel.numberOfLines = 2;
cell.textLabel.font =[UIFont systemFontOfSize:10];
cell.detailTextLabel.numberOfLines = 1;
cell.detailTextLabel.font= [UIFont systemFontOfSize:8];
cell.detailTextLabel.text = [stream valueForKey:@"created"];

NSString *i = [NSString stringWithFormat:@"http://www.mywebsite.co.uk/images/%@", [stream valueForKey:@"image"]];


NSData *imageURL = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:i]];

UIImage *newsImage = [[UIImage alloc] initWithData:imageURL]  ;


UIImage *scaledImage = [newsImage scaleToSize:CGSizeMake(50.0f, 50.0f)]; // warning is appearing here. 

cell.imageView.image = scaledImage;  

[imageURL release];

[newsImage release];

    return cell;
}

Thanks for your time in advance.

Frames

+2  A: 

To avoid this warning compiler must "see" your custom method declaration. So you should put

@interface  UIImage (scale)

-(UIImage*)scaleToSize:(CGSize)size

@end

somewhere - either to corresponding header file, or in the same implementation file if you do not want this method to be accessible outside current file.

Vladimir