2017-04-10 9 views
0

私はMKMapViewの上にUITableViewを持っています。私は、Appleのマップアプリがどのように機能するかと同様の機能を持ちたいと思っています。あなたはテーブルを上下に動かすことができますが、それでもその背後にある地図を動かすことができます。今私は、インデックス0に空白のセルがあり、そのセルが受け取ったすべてのタッチを無効にしたいと思って、その背後のマップを移動できるようにしたいが、インデックス1のセルがタッチされると、残りのテーブルはマップの上に表示されます。Swift:UITableViewCellのタッチを無効にする

この問題を解決する良い方法がある場合は、私はあなたの解決策を試してみましょう!

+0

あなたは、選択と呼ばれるtableviewのプロパティを見つけるインターフェースビルダからセルのタッチを無効にして、「選択なし」値で設定できます。 – Hosny

+0

@Hosnyこれは、セルを選択できないようにするだけですが、選択できないセルがセルのテーブルを移動することを許可します。セルとテーブルをタッチ移動では移動しないでください。移動するテーブル。 – Averex

答えて

0
func tableView(_ tableView: UITableView, didSelectRowAt 
indexPath: IndexPath){ 

    //UITableViewCell *cell = something 

    if indexPath.row == 0 { 
     cell.selectionStyle = .none; 
     cell.isUserInteractionEnabled = false 
    } 


} 

このコードは、ユーザーがタップしたときにセルがハイライト表示されないようにします。そしてifの2行目は、tableView:didSelectRowAtIndexPath:が呼び出されていないことを確認することです。これは、行が省略されていても、selectionStyleがnoneの場合でも同様です。

+0

これにより、セル上のインタラクションは停止しますが、タッチはセルを通過してマップに移動しません。タッチはまだセルが入っているテーブルとやりとりします。 – Averex

+0

@Averexマップの上にテーブルビューを配置し、最初のセルがユーザーのタッチに反応しないようにすると、それはどのように影響するのでしょうか? MapView? Apple Mapsを見ると、最初の行(インデックス0)もテーブルを上げていますが、マップをまったく動かすことはありません。だから私はあなたが「タッチがセルをマップに通らない」ということは何を意味するのか分かりません。私が知る限り、マップの上に要素があればそれに触れ、マップは反応しません触れる。 –

+0

あなたの最初の質問に答えるために、空白のセルをバッファーにして、インデックス1のセルを画面の下部近くから開始できるようにします。私は、ユーザーが空白のセルを使用してテーブルを移動する必要はありません私はちょうどインデックス1のセルのバッファとしてそれをしたいと空白のセルに触れることは決してテーブルに作用することはありませんが、マップを許可するテーブルをオーバーライドそれの後ろに使用される。 ブランクセルなしでバッファを作成する他の方法はありますか? – Averex

関連する問題