我的tableViewCell在cellForRowAtIndexPath方法中定义了像
一样的单元格图像switch (row) {
case 0:
rowImage=[UIImage imageNamed:@"euro.png"];
cell.imageView.image=rowImage;
break;
case 1:
rowImage=[UIImage imageNamed:@"us.png"];
cell.imageView.image=rowImage;
break;
现在在下一个视图中,无论用户选择哪个单元格,我想在该视图上显示相应的图像,这是正常的xib文件。图像不应该覆盖整个xib文件,而是覆盖它的一个小地方
我该如何实现呢。
由于
答案 0 :(得分:1)
你可以通过创建一个数组来实现它,该数组按照你在第0行的表中添加的相同顺序保存图像名称到你总共添加了多少。现在在didSelectRowAtIndexPath方法中传递正被选择到数组索引的行,如下所示:
NSString *imgName =[imagesArray objectAtIndex:indexPath.row];
现在您已经选择了图像名称。您现在可以将此名称传递给下一个要显示图像的viewcontroller。为此,只需在下一个带有字符串参数的viewcontroller类中创建一个方法。将此图像名称字符串传递给该方法。例如,
NSString *localImgName = [getImageName imgName];
其中getImageName是另一个视图控制器中的方法。现在,您可以在localImgName变量中使用获取的imageName,并使用它将图像设置为UIImageView。 希望这可以帮助。我已经用程序化的方式解释过..
答案 1 :(得分:1)
在代表的帮助下完成此操作。 在这种方法中,
switch (row) {
case 0:
appDelegate.rowID = 0;
rowImage=[UIImage imageNamed:@"euro.png"];
cell.imageView.image=rowImage;
break;
case 1:
appDelegate.rowID = 1;
rowImage=[UIImage imageNamed:@"us.png"];
cell.imageView.image=rowImage;
break;
rowID是yourAppDelegate文件中的int。
//inYourNextViewController.m file
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (yourAppDelegate*) [[UIApplication sharedApplication]delegate];
switch(appDelegate.rowID)
{
case 0:
yourImageView.image = [UIImage imageNamed:image1];
break;
case 1:
yourImageView.image = [UIImage imageNamed:image2];
break;
}
}