2017-02-01 10 views
0

私は以前も同様の問題がありましたが、今回は問題の解決方法がわかりません。Dynamic Tableviewcellのボタンはクリックできません

私はプロトタイプのセルを使って動的なテーブルビューを作成し、ボタンを入れました(青い文字の灰色の背景ビューはボタンです)。 tableview

問題は、シミュレータが起動するとボタンがクリックできないことです。私は問題がisUserEnabledに関連していないことを複数回チェックしました。また、サブビューの順番に関係していませんでした(ボタンは3Dデバッガでチェックしたときに階層内で最高です)。

私はこの問題がダイナミックなセルであると推測していますが、私にとって奇妙なのは、ボタンがないにもかかわらず、テキストフィールド「マスタリートゥー」が私のタッチに反応するということです。

問題の原因は何ですか?

ありがとうございます。ボタンがクリックされたときと、イベント処理

+0

は、ボタン用コンセント接続やセレクタをチェックしましたか? –

+0

ボタンがタップされているかどうかをどのように確認していますか? – Adeel

答えて

2

iOS6

UITableViewCell> 
    | <UITableViewCellContentView> 
    | | <UILabel> 

iOS7

<UITableViewCell> 
    | <UITableViewCellScrollView> 
    | | <UITableViewCellContentView> 
    | | | <UILabel> 

iOS7後、またはそれ以降のメソッドの処理が異なっています。

次のように動的にボタンアクションを追加します。

cell.btn.tag = indexPath.row 
cell.btn.addTarget(self, action: #selector(MainVC.buttonAction), for: UIControlEvents.touchUpInside) 
+0

この度はありがとうございます。私はそれを試して、あなたに戻ってきます。 私は質問がありますが、なぜボタンアクションを動的に追加する必要がありますか?私はそれが私の問題の解決策かもしれないと信じていますが、私はストーリーボードを使ってIBActionを追加してもうまくいかない理由を考えています。 – Daniel

+0

あなたの提案はうまくいきました。ヘルプありがとう:) – Daniel

+0

@ダニエルデフォルトでは、テーブルビューにはタッチイベントがあります。セルのすべての要素は、セルの接触によって認識されます。したがって、セル内のボタンを使用する場合は、タッチイベントを指定する必要があります。 –

関連する問題