IOS:设备或模拟器中未显示/显示资产文件夹中的图像

IOS:设备或模拟器中未显示/显示资产文件夹中的图像,ios,swift,xib,Ios,Swift,Xib,我的一个项目遇到了一些问题。 很快我就用故事板做了一个项目,现在我用的是XIB(加上一些编程视图),我还用的是Xcode 10+macOS mojave(有了新的更新)。问题是我有一个图像,我必须把它作为一个标题放在一个视图上(不幸的是,这个视图是一个汉堡包/侧菜单视图,或者你想怎么称呼它)。我让一切都正常工作,但问题是我不想依赖IB,只需将图像放在表视图下即可。 首先,我将图像视图放在那里,在设备上它是正常的,但在模拟器上你看不到该图像,说在nib“com.comp.comp”中找不到“men

我的一个项目遇到了一些问题。
很快我就用故事板做了一个项目,现在我用的是XIB(加上一些编程视图),我还用的是Xcode 10+macOS mojave(有了新的更新)。问题是我有一个图像,我必须把它作为一个标题放在一个视图上(不幸的是,这个视图是一个汉堡包/侧菜单视图,或者你想怎么称呼它)。我让一切都正常工作,但问题是我不想依赖IB,只需将图像放在表视图下即可。
首先,我将图像视图放在那里,在设备上它是正常的,但在模拟器上你看不到该图像,说在nib“com.comp.comp”中找不到“menuImage”(其名称),这很奇怪,因为图像在资产中。
然后,我删除了那个卑鄙的视图,让表视图覆盖了整个视图。我通过编程创建了一个headerView和一个imageView,并将imageView作为子视图添加到headerView中,然后将tableView.headerView设置为=我创建的headerView,其中包含一个图像。在模拟器上,它用那个图像填充了整个视图,这个图像现在仍然毫无意义,而在设备上,你只能看到一个空白视图。如果我设置headerView,我将backgroundColor创建为.red,我可以在表视图中看到红色的标题。我可以将这个高度设置为10或200,这很完美,但当我想把图像放在上面时,它只是白色的。我尝试将tableView、headerView和imageView的背景设置为.clear,但没有成功。
甚至在IB中的表视图中删除图像视图也不起作用。现在我使用的是第一种解决方案,即表视图顶部的图像视图。
现在我要完成这个(抱歉:“()…我确实删除了应用程序,重新启动了iPhone,并多次重复这个“解决方案”,还创建了一个新项目,并手动将我需要的图像放入资产中。
我确实查看了堆栈溢出,但没有发现任何人遇到与我相同的问题,因此没有任何解决方案。
很抱歉发了这么长的帖子;我希望你们至少有一个想法、一个暗示或其他任何东西。
编辑:正如我所说的代码片段……这里是:

private func setupHeaderView() {
        let image = UIImage(named: "menuImage")
        let imageView = UIImageView(image: image)
        imageView.contentMode = .scaleAspectFill

        tableView.translatesAutoresizingMaskIntoConstraints = false

        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.width, height: 150))

        headerView.addSubview(imageView)

        imageView.topAnchor.constraint(equalTo: headerView.topAnchor).isActive = true
        imageView.bottomAnchor.constraint(equalTo: headerView.bottomAnchor).isActive = true
        imageView.leftAnchor.constraint(equalTo: headerView.leftAnchor).isActive = true
        imageView.rightAnchor.constraint(equalTo: headerView.rightAnchor).isActive = true

        tableView.tableHeaderView = headerView
    }  

即使通过注释translateAutoResizezingMask和带有锚定约束的那4行,我也看不到图像。现在我在表视图的顶部有一个imageView(在xib文件中这样做了)我无法在设备上看到图像,但在模拟器上我可以看到。

你的帖子很难理解,因为如果你使用故事板,既没有发布代码,也没有截图,即两者都会导致描述的复杂性。下面是可以做的

来自图像资源的图像通常由

var imageView = UIImageView(frame: yourFrame)
imageView.image = UIImage(named: "nameFromAssets")
imageView.contentMode = .scaleAspectFit //This helps keep the image original aspect ratio
self.view.addSubview(imageView) // Or whatever view you are using
或者使用故事板

1) 将imageView放在屏幕上的某个位置,并根据需要组织它(约束条件等)

2) 在Inspector中,使用下拉列表选择所需的图像


3) 提供您想要的内容模式

您确定要在目标中包含图像吗?在Xcode中的项目导航器(左侧)中选择图像文件,在“文件检查器”窗格(右侧)中,您将看到目标成员资格部分。确保已选择所有构建目标,否则图像文件将不会打包为应用程序包的一部分。好的……我今天检查一下,并给出答案。非常感谢你:D@wottle嗨,很抱歉延迟回复。我检查了,目标成员资格是我的构建目标,唯一的一个。像所有其他的图片一样。谢谢你的关注。我使用的是xibs,但问题是我想在表视图中添加一个标题。我使用该图像创建了一个imageView,并将其作为子视图添加到我也在代码中创建的标题中,然后将该视图分配给tableView.tableHeaderView。我今天要发一些代码。如果可以的话,请随时看一看。。。多莫·阿里加托!:DHi@impression7vx您能告诉我关于无法看到图像这一问题有什么意见吗?我的意思是这真的很奇怪…如果你知道任何事情的话,它会很有用的。提前感谢您添加imageView.TranslatesAutoResizezingMaskintoConstraints=falseWell该属性默认为false…但我甚至尝试过,但没有结果。。。在模拟器中,即使您现在看到了代码,整个表视图也被该图像填充,而在设备上,您只能看到一个空白区域,即图像应该位于的位置。即使查看视图层次结构,我也能看到图像视图,但看不到图像!世界跆拳道联盟?我的意思是…要么我有问题,要么我有问题…根据UIImage的类引用,它说应该避免创建大小大于1024 x 1024的UIImage对象。我想问题出在这里……如果是这样,我会用答案更新我的问题。