顶部栏 - UIImage链接

时间:2014-03-26 17:59:29

标签: ios

我正在使用此代码来显示图像,但我很乐意将该图像链接回rootView。有什么建议?

UIImage *image = [UIImage imageNamed: @"Invest.png"];
    UIImageView *imageView = [[UIImageView alloc] initWithImage: image];

谢谢!

2 个答案:

答案 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];
}