2017-12-12 13 views
0

私はビューコントローラの1つでストーリーボードのビューを作成し、それを再利用する必要があることに気付きました。そこで、コードを統合するためのUIViewのサブクラスを作成しました。私はストーリーボードのビューを選択し、クラスを自分のカスタムビュークラスに変更しました。今度は、ビュー内のいくつかのコンポーネントのための@IBOutlets(この場合は2つのテキストフィールド)を作成したいと思います。私がストーリーボードからカスタムビューファイルに&ドロップしようとすると、私が作成できるのは@IBActionで、@ IBOutletはグレー表示されています。@IBOutletをカスタムビューで作成することはできますか?

コードで@IBOutletを手動で作成し、円からストーリーボード上のコンポーネントにドラッグしてみました。すべてがうまくいくように見えました(つまり、小さな黒いポップアップで接続が表示され、変数の横にある円が塗りつぶされていますが、アプリを実行すると2つのフィールドはゼロになります)。

アクションのみではなくアウトレットを作成することができますか?(私は一種のiOS DEVへの新たなんだ)。

を私が作ったGIFをあなたは、コードを見ることができますし、何が起こっていることになる。

https://imgur.com/hhkb6je

+0

カスタムビュークラスの実装と追加しようとしているアウトレットを投稿できますか? –

+0

@SanthoshR私が投稿したGIFを見ることができますか? – u84six

+0

可能な重複https://stackoverflow.com/a/20295089/1271826これはObjective-Cですが、Swiftでも同じことが起こります。それは古い質問ですが、Xcode 9.2でも同じような動作が見られます。 – Rob

答えて

2

UIViewを再利用する場合は、ビューのxibとUIViewのカスタムクラスを作成してから、xibクラスのファイル所有者を変更してくださいカスタムクラス。次に、ビュー内のコンポーネントのIBOutletsをカスタムクラスにドラッグアンドドロップできます。ストーリーボードでは、カスタム表示を使用して、カスタム表示にクラスの名前を変更することができます。次に、IBOutletsをストーリーボードからUIViewにドラッグアンドドロップします。あなたは、私があなたのために作った方法についてのチュートリアルビデオを見ることができます。 https://youtu.be/IrgH522lbfA

+0

これはそうだと思います。私はxcodeがストーリーボードでカスタムビューを作成し、それをUIViewサブクラスにリンクすることをサポートしているとは思わない。それはうまくいくはずですが、私はそれがサポートされていないと確信しています。私はあなたのビデオを見ることができません(おそらくそれを公開されませんでした)が、私はあなたが正しいとは思わない。 – u84six

+1

動画がアップロードされてから10分間お待ちください。今すぐ –

+0

ビデオがアップロードされました。あなたはそれを見ることができます。あなたはそれを受け入れられる答えにすることができます。カスタム表示のswiftクラスでxibをロードするための –

関連する問題