0

UIButtonそれで、昨夜遅くに数時間を無駄にした後の興味深い行動を発見しました。私はおそらく過去にこれに出くわしたことがありますが、思い出せません。これまでのところ、この動作の説明を見つけることができませんでした。これに関する情報があれば教えてください。

のインスタンスを作成し、UIButtonそのアクションを に設定しUIControlEventTouchUpInsideます。ここで、実行中のアプリでボタンを押したままにし、ボタンから離れて、指を動かしたりドラッグしたりすると境界がどのように変化するかを確認します。タッチは、ボタンの元のフレームである境界からかなり離れた場所で認識されます。

これにより、locationInView: を使用してコードを実装したアプリでかなりの問題が発生し、ボタンのスーパービューであるの indexPath を決定しましたUITableViewCell

indexPath を決定するための私の 2 つの代替ソリューションは次のとおりです。

  1. UITableView の: メソッドUITableViewCellとともに、ボタンのスーパービューのスーパービュー ( ) を使用します 。indexPathForCell

  2. むしろUIControlEventTouchDown 、ボタン アクションを指定するときに使用します。

誰かがこれを参考にするか、問題の解決に貢献できることを願っています。

4

1 に答える 1

1

touchesBegan:withEvent を使用できます。

于 2011-06-28T07:19:39.907 に答える