gpt4 book ai didi

objective-c - 将图像发送到另一个 View Controller UIImageView IOS 5.1

转载 作者:行者123 更新时间:2023-11-29 04:35:00 24 4
gpt4 key购买 nike

我的 uitableview 中有来自 Facebook 的姓名列表,当用户选择一行时,用户详细信息应显示在另一个 View 中。

在我的 friend 中.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
long long fbid = [[arrayOfIDs objectAtIndex:indexPath.row]longLongValue];

NSString *user=[NSString stringWithFormat:@"%llu/picture",fbid];

[facebook requestWithGraphPath:user andDelegate:self];

FriendDetail *profileDetailPicture = [[FriendDetail alloc] initWithNibName: @"FriendDetail" bundle: nil];


profileDetailPicture.profileImage.image= transferImage.image;

profileDetailPicture.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

[self presentModalViewController:profileDetailPicture animated:YES];

[profileDetailPicture release];


}

-(void)request:(FBRequest *)request didLoad:(id)result{
if ([result isKindOfClass:[NSData class]])
{
transferImage.image = [[UIImage alloc] initWithData: result];
// UIImage * sendPicture=[[UIImage alloc] initWithData: result];

NSLog(@"Profile Picture");
}
}

这很好,因为如果我在表格 View 下方放置一个 uiiamgeview 来查看它是否有效,似乎我得到了它有效的正确图像。 enter image description here

但是当我选择该行并尝试将图像发送到以下几行中的其他 View Controller UIImageview

FriendDetail *profileDetailPicture = [[FriendDetail alloc] initWithNibName: @"FriendDetail" bundle: nil];


profileDetailPicture.profileImage.image= transferImage.image;

profileDetailPicture.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

[self presentModalViewController:profileDetailPicture animated:YES];

它不会将图像发送到应显示 friend 图像的详细 View Controller enter image description here

我尝试了 UIImageView 和 UIImage 方法,但无法完成。

代码有什么问题吗?

---------编辑----------

感谢回答,我更改了代码,以下代码工作正常

-(void)request:(FBRequest *)request didLoad:(id)result{

if ([result isKindOfClass:[NSData class]])
{

transferImage.image = [[UIImage alloc] initWithData: result];

FriendDetail *profileDetailPicture = [[FriendDetail alloc] initWithNibName: @"FriendDetail" bundle: nil];

[profileDetailPicture view];
profileDetailPicture.profileImage.image= transferImage.image;


profileDetailPicture.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

[self presentModalViewController:profileDetailPicture animated:YES];

[profileDetailPicture release];
NSLog(@"Profile Picture");
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{


long long fbid = [[arrayOfIDs objectAtIndex:indexPath.row]longLongValue];

NSString *user=[NSString stringWithFormat:@"%llu/picture",fbid];

[facebook requestWithGraphPath:user andDelegate:self];

}

最佳答案

这一行是问题所在:

profileDetailPicture.profileImage.image= transferImage.image

我假设 profileImage 是 IBOutlet?问题是此时该值为零,因为您的详细 View Controller 的 View 尚未加载。

解决此问题的常用方法是将图像存储在详细信息 Controller 的成员变量中,然后将其填充到 viewDidLoad 中的 profileImage 的图像成员中或您确定详细信息 View 已加载的其他位置。 (例如,如果您要调用 [profileDetailPicture view] 来强制 View 在此行之前加载,那么它应该可以工作。)

关于objective-c - 将图像发送到另一个 View Controller UIImageView IOS 5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11182145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com