iOS 图像显示在模拟器中,但不显示在设备上
iOS image is displayed in simulator but not on the device
我有这样的侧边菜单:
在模拟器上一切正常。但是当我在 iPhone 7 上构建时,图像没有显示。
我使用静态 table 侧边菜单视图而不是 xib。我尝试为图像创建一个出口并在 viewDidLoad
中更改它,尝试删除 imageView 并再次创建,更改图像名称,下载新图像,什么都没有。只是这张图不是每次都显示。
class SideMenuVC: UITableViewController {
@IBOutlet weak var clientsImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
clientsImage.image = UIImage(named: "сlientsIcon.png")
}
}
可能是什么问题?
有时是缓存,请尝试清除 Xcode 缓存,删除应用并重试
确保您正在使用的文件包含在项目的 "Build Phases"[=27= 的 "Copy Bundle Resources" 部分中] 标签。
添加图像资源的更好做法是始终在项目的 Assets.xcassets 文件夹中创建图像资源。
在内部创建 'New Image Set',如果所有尺寸的设备只有 1 个尺寸,则将图像分配给 2x,否则创建所有需要的尺寸,然后使用相同的代码或通过情节提要分配图像。示例如下:
如果您想使用以下代码设置图像,请使用以下代码:
clientsImage.image = UIImage(named: "сlientsIcon")
创建时不要添加带图像集名称的.png。正如您在名为 'locationMarker' 的屏幕截图中看到的图像资源。 PNG 放置在资产内。
我有这样的侧边菜单:
在模拟器上一切正常。但是当我在 iPhone 7 上构建时,图像没有显示。
我使用静态 table 侧边菜单视图而不是 xib。我尝试为图像创建一个出口并在 viewDidLoad
中更改它,尝试删除 imageView 并再次创建,更改图像名称,下载新图像,什么都没有。只是这张图不是每次都显示。
class SideMenuVC: UITableViewController {
@IBOutlet weak var clientsImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
clientsImage.image = UIImage(named: "сlientsIcon.png")
}
}
可能是什么问题?
有时是缓存,请尝试清除 Xcode 缓存,删除应用并重试
确保您正在使用的文件包含在项目的 "Build Phases"[=27= 的 "Copy Bundle Resources" 部分中] 标签。
添加图像资源的更好做法是始终在项目的 Assets.xcassets 文件夹中创建图像资源。
在内部创建 'New Image Set',如果所有尺寸的设备只有 1 个尺寸,则将图像分配给 2x,否则创建所有需要的尺寸,然后使用相同的代码或通过情节提要分配图像。示例如下:
如果您想使用以下代码设置图像,请使用以下代码:
clientsImage.image = UIImage(named: "сlientsIcon")
创建时不要添加带图像集名称的.png。正如您在名为 'locationMarker' 的屏幕截图中看到的图像资源。 PNG 放置在资产内。