12

タッチ イベントを取得するために、UIControl から継承するカスタム クラスがあります。基本的には、1 つとして機能する他のコントロールのコレクションです。アプリをxibsからストーリーボードに変換しています。これを除けば、ほとんど痛みはありません。

UIView をシーンにドラッグし、クラスをカスタム コントロールに変更し、ViewController のアウトレットに接続します。クリックされたときにコントロールでやりたいことは、別のViewControllerへの(プッシュ)セグエを実行することです。しかし、デザイナには、UIControl がセグエをセットアップするためのアウトレットがありません。

これを行うことは可能ですか?もしそうなら、それを可能にするために私はクラスに何をしますか?

4

1 に答える 1

8

私はそうは思わない。Connections Inspector ペインを見るとUIButtonUIBarButtonItemインスタンスは特別な扱いを受けます。これは、隣接するビュー コントローラーに接続できる追加の「トリガー セグエ」アクションです。

UIButton はセグエをトリガーできます

ビューのクラスを の子孫に変更するとUIControl、コントロール イベントの標準スイートが利用可能になりますが、残念ながら、Interface Builder ではセグエを接続できません。最善の方法は、ビュー コントローラーから別のビュー コントローラーに手動でトリガーされるセグエを作成し、カスタム コントロールをIBActionプログラムでセグエを実行するメソッドに接続することです。

- (IBAction)performManualSegue:(XYZCustomControl *)sender
{
    [self performSegueWithIdentifier:@"manualPushSegue" sender:sender];
}

セグエを手動でトリガーする IBAction

于 2013-07-24T04:40:10.560 に答える