13日目、Notificationの追加要素
今日は、お知らせページにおいて、セルとタップした時の処理、お知らせページにてフォローする機能の実装を行ないました。
①お知らせページで投稿の写真をクリックすると画面遷移
②お知らせ画面でフォロー、フォロー解除
③cellを押すと、プロフィール画面へ
④その他
①と②、③は処理の過程で少し違いがあります。
③はUITableViewDelegateのdidSelectRowAtで画面遷移を行なっています。
//MARK: -UITableViewDelegate
extension NotificationController{
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
UserService.fetchUser(withUid: notifications[indexPath.row].uid) { user in
let controller = ProfileController(user: user)
self.navigationController?.pushViewController(controller, animated: true)
}
}
}
しかし、①と②はcellの要素なのでまずデリゲートを使用し、コントローラに処理を委任し、またView(cell)においてはaddsubviewの前にcontentViewをつけます。
contentView.addSubview(postImageView)
postImageView.centerY(inView: self)
postImageView.anchor(right: rightAnchor,paddingRight: 12,width: 70,height: 70)
postImageView.layer.cornerRadius = 10
このようにし実装しました。
⑤リフレッシュとロード
ロード中のクルクルを画面遷移につけましたが、すぐ切り替わるので見えづらいです。インターネット環境が悪いときに多分表示されます。