0

Parse.com を使用してアプリを構築しています。

PFQueryTableViewControllerサブクラスとしてa を初期化しました。

セルが別のviewControllerにつながり、データを渡すようにindexPath.rowをタップできません。

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

       print("tapped")
        //Nothing prints. The simulator cell doesn't even change color as it normally does... 

}

Parse を使用しない通常のプロジェクトでは、タップすると、希望する場所に移動します。なぜそれがここで機能しないのか理解できません。

次のようないくつかのリンクを参照しました。

  1. https://www.parse.com/questions/pfquerytableview-didselect-row-open-pbobject-in-uiwebview (時代遅れで客観的な c)
  2. https://www.parse.com/questions/using-pfquerytableviewcontroller-in-detail-view (機能しませんでした)
  3. PFQueryTableViewController での didSelectRowAtIndexPath メソッド(これも機能しませんでした)

誰も助けていません。

また、カスタム セルからのビューで UIGestureecognizer を使用しようとしています。これも役立たず…

これは属性インスペクターです。

http://postimg.org/image/3omx3serh/

関連するパーツを選択および選択解除しました。何も機能しません。

編集:初期化子も使用しています:

 override init(style: UITableViewStyle, className: String!)
    {
        super.init(style: style, className: className)

        self.pullToRefreshEnabled = true
        self.paginationEnabled = false
        self.objectsPerPage = 25

        self.parseClassName = className
        self.tableView.rowHeight = 120
        self.tableView.allowsSelection = false
    }

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

セルをタップできない理由はありますか?セルをタップする方法についてのアイデアはありますか?

4

2 に答える 2

1

アクセスしている初期化子も使用しています。この PFTableViewController は、コードでのみ構築しています。ストーリーボードではなくコードで構築する場合は、self.tableView.allowsSelection = true. 同様の問題が発生している他のリンクを見ました。イニシャライザの完全なコードは次のとおりです。

override init(style: UITableViewStyle, className: String!)
{
    super.init(style: style, className: className)

    self.pullToRefreshEnabled = true
    self.paginationEnabled = false
    self.objectsPerPage = 25

    self.parseClassName = className
    self.tableView.rowHeight = 120
    self.tableView.allowsSelection = true
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

self.tableView.allowsSelection = falsetrue ではなく false に設定されていることに気付きました。

true に設定したところ、動作するようになりました。

于 2015-11-10T18:11:52.197 に答える
1

まず、Table View で Attribute Inspector 内で「User Interaction Enabled」が有効になっているかどうかを確認します。

次に、View Controller の Identity Inspector 内に挿入されたクラスを調べます。

于 2015-11-10T16:38:53.943 に答える