swift - 将选项卡栏项目设置为自定义图像,例如 Instagram

标签 swift firebase firebase-storage uitabbaritem

我很长时间以来一直在尝试寻找这个解决方案,但我找不到任何有关它的文档或教程。我想将选项卡栏项目设置为用户的个人资料图片。每个用户只能通过 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/

相关文章:

ios - 通过自定义 UITableViewCell 上的 UISwipeGestureRecognizer 更新 CoreData?

ios - Swift Firebase -如何验证 `PhoneAuthCredential` 并保持用户当前使用当前电子邮件 uid 登录

firebase - FirebaseStorage抖动

spring - 无法使用最新的 Firebase SDK 依赖项解析 FirebaseOptions

javascript - 从自定义服务订阅 downloadurl

java - 尝试在空对象引用上调用虚拟方法 'java.lang.String android.net.Uri.toString()'

ios - 无法获取类 uitableview Swift 3 上的数据

ios - 如何使用 NSPredicate 通过 CoreData 中的 NSSet 属性的元素来过滤对象?

swift - IBAction 函数的多个参数

javascript - 从 Firestore 收到图像时如何等待 promise ?