0

ストーリーボードに標準のiPadsplitView画面があります。縦向きでは、masterViewControllerは標準のようにポップオーバーで表示されます。detailViewにUISlider(IB内)を追加し、そのアクション(Sent Events-> Value Changed)をdetailViewControllerのIBActionメソッドに接続しました。スライダーをドラッグすると、イベントがIBActionメソッドに送信されます。問題はありません。問題は、ポップオーバーもポップアップすることです。これは、スライダーの外側にドラッグした場合でも発生します。マスターポップオーバーは、熱狂的な子犬のようにポップアップし続けます。

UISliderをサブクラス化してbeginTrackingWithTouchとcontinueTrackingWithTouchをインターセプトし、hitTestをオーバーライドしてみました:スライダーの外側から発生するタッチをインターセプトし、スライダーの内側のタッチが浸透しないようにしますが、無駄になります:ポップオーバーはスライダーによって制御されていると見なします。AppleのサンプルプロジェクトPopoversをダウンロードしました。このプロジェクトでは、この動作を簡単に再現できましたが、UISliderをDetailView.xib(ストーリーボード以外)に追加しました。このポップオーバーをどうやって飼いならすのですか?

4

0 に答える 0