ライブラリ のpagingmenuを使ってその下にcollectionviewを置きたいのですがおいても画像1のように何も反応してくれません、、
pagingmenuの下にcollectionviewを置くためには何か必要なことがあるのでしょうか?
下のコードのloadPost()ではニフクラ で作ったToyというクラスのものを取ってくるようにしています。
試したこと
collectionviewが接続できているか
viewWithTagが接続できているか
ニフクラ のクラス名があっているか
2paging menu のstorybord
3pagingmenuのcollectionviewを置きたいページのstorybord(おもちゃ)
class ToyViewController: UIViewController ,UICollectionViewDataSource,UICollectionViewDelegate{ @IBOutlet var collectionView : UICollectionView! var toyPosts = [Toy]() override func viewDidLoad() { super.viewDidLoad() collectionView.delegate = self collectionView.dataSource = self } override func viewWillAppear(_ animated: Bool) { loadToyPost() } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return toyPosts.count } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) let photoImageView = cell.viewWithTag(1) as! UIImageView let photoImagePath = toyPosts[indexPath.row].imageUrl photoImageView.kf.setImage(with: URL(string: photoImagePath)) let photoText = cell.viewWithTag(2) as! UILabel let photoTextPath = toyPosts[indexPath.row].text photoText.text = photoTextPath return cell } func loadToyPost() { let query = NCMBQuery(className: "Toy") // 降順 query?.order(byDescending: "createDate") // 投稿したユーザーの情報も同時取得 query?.includeKey("user") // オブジェクトの取得 query?.findObjectsInBackground({ (result, error) in if error != nil { SVProgressHUD.showError(withStatus: error!.localizedDescription) } else { // 投稿を格納しておく配列を初期化(これをしないとreload時にappendで二重に追加されてしまう) self.toyPosts = [Toy]() for postObject in result as! [NCMBObject] { // ユーザー情報をUserクラスにセット let user = postObject.object(forKey: "user") as! NCMBUser // 退会済みユーザーの投稿を避けるため、activeがfalse以外のモノだけを表示 if user.object(forKey: "active") as? Bool != false { // 投稿したユーザーの情報をUserモデルにまとめる let userModel = User(objectId: user.objectId, userName: user.userName) userModel.displayName = user.object(forKey: "displayName") as? String // 投稿の情報を取得 let imageUrl = postObject.object(forKey: "imageUrl") as! String let text = postObject.object(forKey: "text") as! String // 2つのデータ(投稿情報と誰が投稿したか?)を合わせてPostクラスにセット let post = Toy(objectId: postObject.objectId, user: userModel, imageUrl: imageUrl, text: text, createDate: postObject.createDate) // 配列に加える self.toyPosts.append(post) } } } }) } }
解決
前のページのprepare segueのidentifierが間違っておりpeform segueはできていたので、遷移されてもなにも表示されない状態でした!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/07 08:08