【问题标题】:UIImageView is not displayed after push navigation推送导航后不显示 UIImageView
【发布时间】:2013-03-29 06:00:56
【问题描述】:

我对 iOS 开发很陌生。我正在尝试创建一个需要显示图像的 iPad 应用程序(这里我使用了 a.png)。图像在第一个视图控制器上正确显示。然后,我使用

导航到其他视图
[self.navigationController pushViewController:<#(UIViewController *)#> animated:<#(BOOL)#>]

在我导航到的第二个视图控制器上,我使用界面构建器在 .xib 中的视图控制器上放置了一个 UIImageView。但是,在运行时,当我导航到第二个视图控制器时,第二个视图控制器中的图像视图不显示。

也就是说,在任何普通的 viewcontroller 上,uiimageview 都可以正常工作,但是在导航后(即 self.navigationController pushViewController),uiimageview 不会显示在下一个 viewcontroller 中。

我尝试调试。运行后流程转到第二个视图控制器的 viewDidLoad。我什至尝试在 viewDidLoad 中分配 UIImageView,在运行控件时转到 UIImageView 的分配,甚至分配正确(即不是 nil)。但是,我仍然不确定为什么图像不可见。之前我认为它可能没有加载并且看起来它是 nil,但在调试时我发现它不是 nil。

我被难住了。无法弄清楚我可能缺少什么。

请提出建议。我需要帮助找出 UIImageView 图像未显示的全部原因。

【问题讨论】:

  • 检查 IBOutlet 连接?
  • 粘贴你尝试过的代码?
  • code PhotoGalleryViewController *photoGalleryViewController = [[PhotoGalleryViewController alloc] initWithNibName:@"PhotoGalleryViewController" bundle:nil]; [self.navigationController pushViewController:photoGalleryViewController Animation:YES];
  • 移除 photoGalleryViewController viewDidLoad 方法中的 imageview 分配。
  • 在photoGalleryViewController中,我已将图像分配给xib中的uiimageview

标签: ios objective-c uinavigationcontroller uiimageview


【解决方案1】:

检查您的UIImageView 是否正确连接到file's Owner 或没有??

  • .h file中创建UIImageView的对象

  • 并设置UIImageView的@property和@synthesize

  • 然后检查您的 ImageUIImageView)具有有效名称。

编辑:

尝试以编程方式添加UIImageView

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIImageView *myImageView = [[UIImageView alloc] initWithFrame: CGRectMake(10, 10, 320, 375)] ; // set Frame as you need
    [myImageView setImage: [UIImage imageNamed:@"MYImage.png"]];
    [self.view addSubview: myImageView];
}

【讨论】:

  • 我已经在 .h 文件中创建了一个对象,设置了 Set 属性并进行了综合,并确认了 IBOutlet 连接。 UIImageView 已正确连接到文件的所有者。我已使用 Interface Builder 将图像分配给 .xib 上的 UIImageView。我在以前的视图控制器上使用了相同的图像,它在那里工作正常。
  • self.yourImagViewObj.image = [UIImage imageNamed:@"NameOfYourImage"];试试这段代码
  • 也试过了。没用。我在 viewDidLoad 中试过这个,没有用。在 viewWillAppear 中尝试过,没有用。我也试过 [self.yourImagViewObj setImage:[UIImage imageNamed:@"NameOfYourImage"]]。即使这样也没有用。我担心通过 pushViewController 导航时可能会出现问题
  • @Monty- 我确信 UIImageView 中的错误...我会将 UIImageView progametticaly 添加:)
  • 这行得通!谢谢!我试过这个,但错过了 addSubView。只需添加 addSubView 代码就可以了。虽然这目前有效,但我仍然想知道如果我在 xib 中拖放 UIImageView、为其分配图像、通过正确的 IBOutlet 连接将其正确连接到文件所有者,为什么它不起作用。
猜你喜欢
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
相关资源
最近更新 更多