我很长时间以来一直在尝试寻找这个解决方案,但我找不到任何有关它的文档或教程。我想将选项卡栏项目设置为用户的个人资料图片。每个用户只能通过 Facebook 登录该应用程序。然后,该应用程序从 Facebook 获取用户的个人资料图片并将其存储在 Firebase 存储中。我想检索该图像并将其设置为选项卡栏项目,但不幸的是,它不起作用。这是我到目前为止的代码:
override func awakeFromNib() {
super.awakeFromNib()
self.tabBarItem.title = "MY ACCOUNT"
if self.loggedInUserUid != nil {
let imageRef = FIRStorage.storage().reference().child((loggedInUserUid)!+"/profile_pic.jpg")
imageRef.data(withMaxSize: 75 * 144 * 96, completion: { (data, error) -> Void in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async(execute: { () -> Void in
let image = UIImage(data: data!)
self.tabBarItem.image = image
})
}).resume()
}}
我收到错误: 无法加载从带有标识符的包中的 Nib 引用的“”图像
最佳答案
在 Storyboard中单击图像。转到右侧的列(如果它不可见,请单击相应的按钮将其激活)并找到一个显示“标识符”之类内容的位置。在那里输入一个短名称。然后使用此标识符而不是您正在使用的路径。 根据错误消息,您似乎在 Storyboard中定义了没有标识符的图像。如果这是真的,那么您不需要所有代码来手动加载图像。 您应该选择一种方法或另一种方法。但不是两者兼而有之。 我很想说得更具体,但我现在不在,正在打电话。
关于swift - 将选项卡栏项目设置为自定义图像,例如 Instagram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44407385/