2

すべて、私のアプリでは、さまざまなビューコントローラー/画面でカスタムボタンを使用する必要があります。ストーリーボードでそれらを複数回作成し、必要な変更を複数回行うという作業をやりたくなかったので、viewdidloadにボタンを持つスーパークラスを作成し、このクラスを別のビューコントローラーで継承します。さて、これらのボタンからセグエを実行したいと思います。私がそれを機能させたいのは、各ボタンがタップされた場所からのビューに関係なく、同じコントローラー/ビューにセグエすることです。これで、プログラムでセグエに関する限り、performseguewithidentifierとpushviewControllerの2つのオプションがあることがわかりました。私の場合、どちらがどのように機能するか完全にはわかりませんか?現時点では、私は mストーリーボードのスーパークラスコントローラーからセグエを作成してperformseguewithidentifierを使用しようとすると、コンパイルされ、ボタンをタップするとアプリがクラッシュし、認識されないセレクターがインスタンス例外に送信されます。このスーパークラスコントローラー自体はナビゲーションコントローラーの一部ではないため、pushviewControllerオプションを実際に使用することはできません。ボタンのセグエを他のコントローラーに継承するようにするにはどうすればよいですか?

状況を完全に明確にするための他のいくつかの詳細:私のスーパークラスにはストーリーボードに対応するビューコントローラーがありますが、これは私のナビゲーションコントローラースタックの一部ではないため、他のものに接続されていません。私がこのようにした理由は、私のスーパークラスはボタンを継承するためだけのものであり、他の目的は実際にはないからです。それをサブクラス化する他のすべてのビューコントローラはストーリーボードにあり、ナビゲーションスタックの一部です。ボタンをこのルートに使用した理由は、アプリのすべての画面の一部としてボタンを使用していて、ストーリーボードでボタンを複数回作成したくなかったためです。ボタンを作成したい場合は、変更を加える必要があるためです。すべてのコントローラー。スーパークラスのコントローラーがあれば、一度変更するだけで済みます。私はそうではありませんでした UIButtonをサブクラス化してから、セグエを操作する方法について確認してください。それは私が考慮すべきオプションですか?

4

0 に答える 0