###前提・実現したいこと
UITableViewCell内にUIButtoやUILabel、UITextViewが複数あります。
親のUITableViewControllerのdidSelectRowAtIndexPathでcell内の表示を切り替えています。
今まではセルのどこをタップしてもその切り替え処理をやっていましたが、
セル内のあるUITextViewをタップした場合は切り替え処理を行わないように変更することになりました。
###試したこと
そもそもUITextViewをタップした場合にdidSelectRowAtIndexPathが呼ばれなければいいと考え、UITableViewCellの派生クラスでpointInsideにて、タップされたコントロールがUITextViewだったらtrueを返し、呼ばれないようにしました。
→UITextViewの文字選択や、HTMLを表示した場合のリンクもできなくなったので却下
###知りたいこと
おそらく以下のどちらかで実現可能だと思いますが、他に方法があるかどうかや
以下の実現方法があれば知りたいです。
・didSelectRowAtIndexPathでタップされたCellのどのコントロール領域をタップしたか判定するåå
・あるUITextViewのタップ時の処理自体は行うが、didSelectRowAtIndexPathは呼ばれないようにする
###補足情報(言語/FW/ツール等のバージョンなど)
XCode7.3.1, iOS8.3〜
言語はSwiftですが役立つ情報であればObjectiveCでもいいので知りたい。
回答3件
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2016/07/13 04:30
2016/07/13 04:42
2016/07/13 06:27