0

幅が柔軟なUITableViewを備えたiOSアプリがあります。これにより、向きを変更するときに、iPadの右側にスクロールバーを自動的に配置できます。

ただし、私のセルビューにはサイズ変更できない背景があり、タッチ可能な領域が何であるかをユーザーに示すことになっています。ただし、ユーザーが背景のはるか外側をタッチすると、テーブルが画面全体をカバーし、テーブルセルもカバーするため、ジェスチャはdidSelectイベントとしてインターセプトされます。

したがって、私はユーザータッチを解析し、それが背景の外にあるかどうかを確認し、それを受け入れる方法を探しています。

複雑にするために、私はUIStoryBoardを使用しています。

更新:答えを完成させるために、lolcatによって提案された2つのソリューションのうち、すべてのセグエが既に描画されたUIStoryBoardが配置されているため、NSResponderメソッドをオーバーライドすることを選択しました。NSResponderを使用することで、ViewControllerのコード行を変更しませんでした。

4

1 に答える 1

0

タッチが遮断されるセルの上に非表示のボタンを配置することで、このようなことを行いました。didSelectRowAtIndexPath関数が通常どおりに機能するボタンにセレクターとして応答する関数を作成します。

それ以外の場合は、UITableViewCellをサブクラス化し、touchesBegan(またはtouchesEnded-探しているものに基づいて)をオーバーライドできます。これにより、セル内でタップされた正確なポイントを確認できます。この方法はここで見ることができます。

于 2012-06-19T21:13:01.850 に答える