3つのサブビューを持つカスタムUIControlがあります。これらのサブビューのそれぞれが、私はターゲットを追加:カスタムuicontrolとコントローラのタッチイベントを追加するには?
button.addTarget(self, action: #selector(buttonTapped(clickedBtn:)), for: .touchUpInside)
その機能buttonTapped
の中で、それはいくつかの遷移を行うためにいくつかの特別なアニメーションを行います(これは、セグメント化されたコントロールを模倣します)。
ここで、このカスタムUIControlが存在するViewController内では、タッチ時にそれを知る必要があります。カスタムUIControlのタッチイベントと対話する@IBAction
関数を作成しました。
問題は、(私が知っている限り)それはできません。サブビューにターゲットタッチイベントを追加すると、親タッチイベントは呼び出されません。親ビューに@IBAction
という関数を呼び出すには、すべてのサブビューのsetUserInteractiveEnabled to
をtrueに設定する必要があります。私がそれをすると、サブビューのタッチイベント関数は呼び出されません。
私は両方のタッチイベント関数を呼び出す必要があります。これどうやってするの?これを回避する最善の方法は何ですか?
あなたは*全体*カスタムコントロールを持ってもらえ、その後 '.touchUpInside'で' IBAction'は、サブビューをタップされた* *を決定しますか? – dfd