320x144
UITableViewという名前の小さなビューコントローラーSubViewController.h
があり、単一のセクションを持つ3つのセルがあります。私はtableViewをスクロールできないようにし、CALayer
.
MainViewController.mi という名前の別のビューコントローラーSubViewController.h
で、サブビューとして thisに追加しましたMainViewController
。を使用しUIPanGestureRecognizer
て、SubViewContoller を好きな場所にドラッグすることに成功しました。
この subView を で表示できるようにしUIBarButtonItem
ます。サブビューのtableViewでセルを選択した後、アニメーションでメインビューから消えました。
すべて正常に動作します。
しかし、サブビューをドラッグしてから 1 つのセルを選択しようとすると、セルを 2 回タップする必要があります。最初のタップでは、セルが青色に変わる以外は実際には何も起こりません(tableViewでセルを選択したときに通常起こるように)が、非表示にはなりません。もう一度タップすると非表示になります。
サブビューをドラッグしなくても、ワンタッチで1つのセルを選択でき、ビューも非表示になります。
didSelectRowAtIndexPath:
サブビューのメソッドでサブビューを非表示にするコードを書きました。そして、サブビューをドラッグした後に初めて選択したときに、このメソッドが呼び出されないことを確認しました.2回目のタップまたはタッチでは、呼び出されます。また、ユーザーがサブビューを再度移動すると、同じ問題が発生します。
確かに、サブビューの一部のプロパティがドラッグ後に変更されましたが、これを理解することはできません。