我想要学习一些基本的和非常重要的开发体面的iPhone应用程序。但是我不知道自己没有得到什么。这里的问题:在两个视图之间共享图像
我有一个窗口项目,2次 - 视图1,视图2。在每个视图(通过IB)我放下了一个imageView控件。当我在view1中调用函数时,我想设置View2的图像控件(显示图像)。
我该怎么做?
必须有一个简单的方法,但我没有管理(和做搜索了很多)找到一个简单的简单的方法来做到这一点,或至少理解这个概念。
在此先感谢。 -ME
我想要学习一些基本的和非常重要的开发体面的iPhone应用程序。但是我不知道自己没有得到什么。这里的问题:在两个视图之间共享图像
我有一个窗口项目,2次 - 视图1,视图2。在每个视图(通过IB)我放下了一个imageView控件。当我在view1中调用函数时,我想设置View2的图像控件(显示图像)。
我该怎么做?
必须有一个简单的方法,但我没有管理(和做搜索了很多)找到一个简单的简单的方法来做到这一点,或至少理解这个概念。
在此先感谢。 -ME
类中访问的UIView的图像属性你不一定需要共享图像。它大吗?你在下载它吗?换句话说,它真的需要共享吗?
如果是这样,你可以实例化的UIImage在你的应用程序代理,并在创建时将它传递给每个视图控制器。为图像的每个视图控制器设置一个属性。事情是这样的:
ViewController1 *controller1 = [[ViewController1 alloc init];
[controller1 setImage:image];
[[self navigationController] pushViewController:controller1];
[controller1 release];
ViewController2 *controller2 = [[ViewController2 alloc init];
[controller2 setImage:image];
[[self navigationController] pushViewController:controller2];
[controller2 release];
然后在每个视图控制器的viewDidLoad,您可以设置图像您的ImageView
- (void)viewDidLoad;
{
[super viewDidLoad];
[[self imageView] setImage:[self image]];
}
我不知道你怎么是一个加载你的视图控制器,但上面的代码假设您正在使用导航控制器堆栈。如果你需要澄清另一种方法,请告诉我。
你应该在IB的UIImageViews的连接插座在你的ViewController类。在你的类的.h接口文件,添加适当的:
IBOutlet UIImageView *view1;
添加属性:
@property (nonatomic,retain) IBOutlet UIImageView *view1;
,并在你的类实现文件(.M),合成属性:
@synthesize view1;
最后,您需要将IB中的UIImageView对象连接到该新插座。然后,你可以用view1.image
我的问题不是我如何从一个viewcontroller(VC)在UIViewImage访问。这是我如何从一个VC访问另一个对象,如位于其他VC中的ImageView。你所描述的是如何连接我已经知道的控制。 – amok 2009-12-05 15:48:41
图像保存在本地,基本上保存在一个视图中,我展示了一个视图,然后在第二个视图中展开以获得更好的视觉效果。谢谢你的回答我的问题 - 关键在于委托(我不想为此创建一个单例) – amok 2009-12-07 01:46:08