UIImageView / UIImage不工作 - 我做错了什么?

时间:2011-06-06 04:41:04

标签: iphone objective-c xcode uiimageview uiimage

我没有让我的形象工作。谁能告诉我这里我做错了什么?

musclePicture是格式为picture.png

的字符串

第一个观点:

NSString *muscleURL = [[self.muscleArray objectAtIndex:indexPath.row]objectForKey:@"musclePicture"];
specificExerciseTableViewController.muscleImage = [UIImage imageNamed:muscleURL]; 

第二视图:

detailViewController.muscleImage = self.muscleImage;

第3次观点:

self.image = [[UIImageView alloc]initWithImage:muscleImage];
[image release];

编辑:

MusclesTableViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *muscleURL = [[self.muscleArray objectAtIndex:indexPath.row]objectForKey:@"musclePicture"];
    specificExerciseTableViewController.muscleImage = [UIImage imageNamed:muscleURL]; 
}

SpecificExerciseTableViewController.h
@property (nonatomic, retain) UIImage *muscleImage;

SpecificExerciseTableViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    detailViewController.muscleImage = self.muscleImage;
}

DetailViewController.h
@property (nonatomic, retain) UIImage *muscleImage;
@property (nonatomic, retain) IBOutlet UIImageView *image;

DetailViewController.m
- (void)viewDidLoad
{
    self.image.image = muscleImage;
}

3 个答案:

答案 0 :(得分:0)

尝试在以下内容之后为您的UIImageView提供一个框架:

self.image = [[UIImageView alloc]initWithImage:muscleImage];
[image setFrame:CGRectMake(0,0,50,50)];
[image release];

答案 1 :(得分:0)

我认为您忘记将图片subView添加到您的视图中。

像这样

[self.view addSubView:image];

或者您有一个与.xib文件作为IBOutlet连接的类变量,并且您正在使用allocinit重新初始化它,如果是这种情况然后你必须做

self.image.image = [UIImage imageNamed: muscleImage];

答案 2 :(得分:0)

试试这段代码:

NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[animal imageURL]]];
UIImage *animalImage = [[UIImage alloc] initWithData:imageData];

为您指定UIImageViewUIImage