我正在使用此代码来显示图像,但我很乐意将该图像链接回rootView。有什么建议?
UIImage *image = [UIImage imageNamed: @"Invest.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage: image];
谢谢!
答案 0 :(得分:0)
您可以使用NSNotification
将数据“移动”到其他ViewController。
在当前的ViewController中发布通知
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:image forKey:@"image"];
[[NSNotificationCenter defaultCenter] postNotificationName:@"imageNotification" object:nil userInfo:dictionary];
在另一个ViewController的viewDidLoad
方法中添加一个观察者
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedImage:) name:@"imageNotification" object:nil];
添加一个方法,该方法将在发布通知时调用(在另一个ViewController内)
- (void)receivedImage:(NSNotification *)notification {
UIImage *image = [[notification userInfo] objectForKey:@"image"];
}
答案 1 :(得分:0)
正如我在上面的评论中提到的,您可以使用NSNotification
将其发布回rootView控制器:
YourViewController.m :(图片所在的视图控制器)
致电:[self yourMethod];
将图片发回rootView
- (void)yourMethod
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"postImage" object:self.yourImage userInfo:nil];
}
RootViewController.m:
在这里,我们需要添加一个观察者,以便我们稍后可以从您应用的其他部分接收您想要稍后发布的图片。
- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(postedImage:) name:@"postImage" object:nil];
}
在这里,我们将通知的对象作为postedImage:
- (void)postedImage:(NSNotification *)notification
{
UIImage *postedImage = notification.object;
}
不要忘记删除观察者的dealloc方法!
- (void)dealloc
{
[[NSNotificationCenter defaultCenter]removeObserver:self];
}