UIViewController - 无法通过 IBOutlet 更改 vcontroller.view 中的图像

Posted

技术标签:

【中文标题】UIViewController - 无法通过 IBOutlet 更改 vcontroller.view 中的图像【英文标题】:UIViewController - Can't change image within vcontroller.view via IBOutlet 【发布时间】:2011-09-05 03:55:43 【问题描述】:

好的,我昨晚使用了类似的解决方法...但是解决方法不足以解决我的新情况,所以我想我应该找出我缺少的东西。

我有一个 UIViewController,它有一个主 UIView 项、2 个 UIButton 对象和一个 UIImageView。我将文件所有者设置为我的视图控制器类。 ViewController 有一个类变量“IBOutlet UIImageView * backgroundImage”。我在 Interface Builder 中设置了插座,以便 UIImageView 引用“backgroundImage”属性。

此时我假设我应该能够更改 UIImageView 项目。然而,这种情况并非如此。我可以在代码中设置它,并且我的应用程序不会爆炸(由于缺少插座设置或任何东西),但图像根本不会改变。我正在尝试与昨晚非常相似的事情,我在 ViewController 的根 UIView 项中有一个 UIView,我试图将它引用到一个类变量以专门控制该视图。然而,这也没有奏效。

如何(通过 IB 和 outlets)控制 UIViewController.view 的子视图项?

明确地说,这是我的设置:

UINavigationController --> UITableViewController (tvc)

从“tvc”,推送一个新的 UIViewController(vc,注意这不是一个表)。

在“vc”(UIViewController)中:

文件的所有者 = MyDetailsViewController(从 UIViewController 子类化) UI 视图 UIImageView 按钮 按钮

【问题讨论】:

【参考方案1】:

你是在为 UIImageView 设置实际图像吗

backgroundImage.image = [UIImage imageNamed:@"myImage.png"];  
//(Where myImage.png has been added to to your project)

【讨论】:

是的,我按照您在此处指定的方式进行设置。 你能不能加点代码,我唯一的想法是在IB中不能连接插座。如果没有设置,它不会“爆炸”。它只会改变你看不到的 UIImageView 的图像。

以上是关于UIViewController - 无法通过 IBOutlet 更改 vcontroller.view 中的图像的主要内容,如果未能解决你的问题,请参考以下文章

无法从 UIViewController 访问 UIView

UINavigationController 代码推送到 UIViewController 无法正常工作

无法从 UIViewController 添加 UIView

如何通过 SwiftUI 按钮在 UIViewController 中执行功能?

UIViewController 无法查看 UITableViewController

成功登录后无法关闭 UIViewController