【问题标题】:UIImageView doesn't update with my imageUIImageView 没有更新我的图像
【发布时间】:2011-01-08 17:10:41
【问题描述】:

我正在尝试设置我的图像:

detailedEventViewController.thumbnail.image = [UIImage imageNamed:@"amnesia.png"];

但图像视图显示为空白。 amnesia.png 在我的资源组中。文件存在。

我的日志结果:

2011-01-08 10:52:32.822 HD Pocket Vacations[25271:207] Image: <UIImage: 0x66203b0>
2011-01-08 10:52:32.823 HD Pocket Vacations[25271:207] dEVC: <DetailedEventViewController: 0x6628340>
2011-01-08 10:52:32.824 HD Pocket Vacations[25271:207] thumbnail: (null)

【问题讨论】:

标签: iphone objective-c cocoa-touch uiimageview uiimage


【解决方案1】:

您是否将thumbnail 属性链接到IB 中的UIImageView

尝试通过将行更改为:

UIImage *img = [UIImage imageNamed:@"amnesia.png"];
NSLog(@"Image: %@",img);
NSLog(@"dEVC: %@",detailedEventViewController);
NSLog(@"thumbnail: %@",detailedEventViewController.thumbnail);

detailedEventViewController.thumbnail.image = img;

并告诉您在调试器控制台窗口中看到的内容。

【讨论】:

  • 是的,它已连接到 IB,缩略图已连接到文件所有者
  • 我添加了一些关于如何从中获取调试信息的说明。
  • 就在那儿:thumbnail: (null)。所以你要么没有正确连接它,要么根本没有加载笔尖,要么在某处将thumnail 设置为nil
  • 我在分配初始化详细事件视图控制器后立即调用它。我基本上有一个视图控制器,它将详细的EventViewController 推送到导航堆栈上,我希望在发生这种情况后加载图像。
  • 你只分配/初始化吗?你应该 alloc/initWithNibName,否则 nib 将无法加载!
【解决方案2】:

从您提供的日志开始。你什么时候尝试设置这个?如果您尝试在您的 init 方法中执行此操作,它还没有绑定到 Nib 以及为什么它是 Null。

viewDidLoad: 方法中执行此操作,它应该已经连接了。

【讨论】:

  • 我在视图控制器中执行此操作,将视图控制器推送到导航堆栈。
  • 没错。无法保证您的 Nib 已在此时加载。它很懒,所以笔尖只加载较晚。可能尝试在导航控制器委托中设置它。 UINavigationControllerDelegate 方法 navigationController:didShowViewController:animated:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多