やりたいこと
プロフィール画像やユーザーネーム、投稿画像を表示させたい
やったこと
・ディバック
・firebaseのプロジェクトの入れ替え
var post: Post? { didSet { guard let ownerUid = post?.ownerUid else { return } guard let imageUrl = post?.imageUrl else { return } // 原因コード ① guard let likes = post?.likes else { return } Database.fetchUser(with: ownerUid) { (user) in self.profileImageView.loadImage(with: user.profileImageUrl) self.usernameButton.setTitle(user.username, for: .normal) self.configurePostCaption(user: user) } postImageView.loadImage(with: post!.imageUrl) // 原因コード ② likesLabel.text = "(likes) likes" } } let likesLabel: UILabel = { let label = UILabel() label.font = UIFont.boldSystemFont(ofSize: 12) label.text = "3 likes" return label }()
addSubview(likesLabel) likesLabel.anchor(top: likeButton.bottomAnchor, left: leftAnchor, bottom: nil, right: nil, paddingTop: -4, paddingLeft: 8, paddingBottom: 0, paddingRight: 0, width: 0, height: 0) addSubview(captionLabel) captionLabel.anchor(top: likesLabel.bottomAnchor, left: leftAnchor, bottom: nil, right: rightAnchor, paddingTop: 8, paddingLeft: 8, paddingBottom: 0, paddingRight: 8, width: 0, height: 0)
上記の原因コードを追加後、画像1から画像2になってしまいます。
画像1
画像2
likesLabel
というのはハートマークのことで、いいね機能を実装できないので、UILabel
になっています。
よろしくお願いします。
1. その一行を消せば画像は正しく表示されるということでしょうか?
2. likesLabelが関係するコードを全て書いて下さい。今のコードを見る限りでは、likesLabelが画面に影響を及ぼすことはないです。(addされていないので)
1. 2つのコードを消すと、画像1のように表示されます。
2.likesLabelが関係するコードというのはどのようなものがあるのでしょうか。
追加したものぐらいしか見つけることができませんでした。
>>1
あぁ、上の方を見落としてました。
下の方だけ消した場合は正しく表示されたままなのでしょうか?(そうであれば、原因は上の方になりますが)
>>2
どこにもaddSubViewしていないんですか?
>>1
見にくかったです。修正しました。
原因①残し 原因②コメント => 画像 ②
原因①コメント 原因②残し => ビルドできない(Use of unresolved identifier 'likes')
>>2
すいません、画像の上に追加してあると思います。
>>1
ということは上の方が原因なので、takabosoftさんにおまかせ。
>>2
たびたび失礼。「追加したもの」の意味を勘違いしててコードが追加されていることに気付いてなかったです。
ありがとうございました。
>>2
僕の書き方に問題がありました、次からもっと見やすく質問できるように頑張りたいと思います。
回答2件
あなたの回答
tips
プレビュー