【问题标题】:How to pass an image and data to another view?如何将图像和数据传递到另一个视图?
【发布时间】:2011-08-09 09:14:05
【问题描述】:
在我的 iPhone 应用程序中,第一个屏幕用户从分段控制器中选择两个选项中的一个,从数据选择器中选择一个选项(使用数组),输入他们的姓名并将图片从他们的照片库上传到UIImageView。
我的问题是如何将所有这些数据获取到下一个视图(为了获取下一个视图,我设置了 IBAction 并链接到 UIButton)。我可以毫不费力地告诉用户选择了什么,但它会将他们的所有选项(尤其是图像)放到我的第二个视图中。
【问题讨论】:
标签:
iphone
objective-c
ios
image
【解决方案1】:
在第二个视图中创建一个图像变量,为其写入属性并合成它。
**(SecondView.h)**
UIImage *myImage;
@property (nonatomic, retain) UIImage *myImage;
**(SecondView.m)**
@synthesize myImage;
然后,当您分配新视图(单击按钮时)时,将所选图像传递给第二个视图。
SecondView *mvController = [[SecondView alloc] initWithNibName:@"SecondView”
bundle:[NSBundle mainBundle]];
mvController.myImage = yourSelectedImage;
[self.navigationController pushViewController:mvController animated:YES];
就是这样……
【解决方案2】:
当您在 IBAction 中创建下一个视图时,您可以使用当前视图中可用的数据设置该视图的属性。例如:
CustomView *secondview = [CustomView alloc] init];
secondview.backgroundimage = // Set your image here
secondview.data = // set the data here
[self.view addsubview secondview];
【解决方案3】:
您可以在第二个视图中创建一个方法,例如:
-(SecondView*)initWithImage:(UIImage*)img anndOption(int)opt ...
在 UIAction 中,您可以像下面这样实例化视图:
SecondView *mySecondView = [[SecondView alloc] initWithImage:img andOption:opt ...];
然后显示视图。
【解决方案4】:
您用于显示数据的变量,即用于显示名称的字符串和UIImageView 中的UIImage。属性化和综合这个变量,并通过在你的类中创建下一个类的实例,你可以从类 1 中设置类 2 的这些变量的值。并在第二类viewwillappear 的 text 属性和 image 属性中分配这些值。