2017-12-10 6 views
-2

再利用可能なUIコンポーネントがいくつかあるため、迅速なフレームワークを作成しています。フレームワークのカスタムuiコンポーネントがストーリーボードにレンダリングされない

このフレームワークを別のアプリケーションで読み込むときに、プログラムでカスタムコンポーネントを追加できます。

しかし、私がストーリーボードにUIViewを追加し、そのクラスをcustomComponentに変更すると、私はストーリーボード上でそのプレビューを見ることができません。このため、私はInterfaceBuilderのコンポーネントを視覚化できないので、このフレームワークを他の開発者に配布することはできません。

実行時にコンポーネントが表示されますが、ストーリーボードでフレームワークを使用することの有効性が低下します。

私はlinkに続き、迅速なフレームワークを開発しました。

Threは2つのプロジェクトLibraryとSampleAppです。

Libray:これは、MyButtonのようなカスタムUIコンポーネントとしての迅速なフレームワークです。混乱を避けるためだけの非常に基本的なUIです。

SampleApp:このアプリケーションは、サンプル画面

上にMyButtonを表示するライブラリを使用して私は他のアプリケーションフレームワークからカスタムUIコンポーネントのプレビューを見ることができる方法を教えてください。

EDIT1:

私は提案を適用してきた私のサンプルコードをアップロードしますが、これを解決することはできませんでした。 Code

編集2: チュートリアルの壊れたリンクを修正しました。私はアウトレットを使っていないので、簡単にすることができます。

編集3:図書館とSampleApp

私は図書館プロジェクトでカスタムウィジェットとしてMyButton.swiftを持っている: 二つのプロジェクトがあります。

私はStoryBoardでのUIViewを追加し、(ライブラリのフレームワークから)にMyButtonにそのクラスを変更した

enter image description here

答えて

0

確かにそこにあります!あなたは、フレームワークインポートした後

:IBで

import MyFramework 

は、フレームワークのモジュールを選択します。

enter image description here

EDIT:もちろん

を、私はあなたを想定していますカスタムコンポーネントを作成しましたIBDesignable

EDIT#2:

ストーリーボードに "輸入" する必要はありません。あなたがしたいのは、ビューコントローラコードにimportが含まれていることと、ストーリーボードのビューコントローラがそのサブクラスであることを確認することだけです。 enter image description here

そして、それによって制御されるようにビューを設定するには:たとえば、ここにMainViewControllerという名前のビューコントローラです

enter image description here

それがAであるように私は、ストーリーボードにフレームワークをインポートする必要がありますどのように
+0

XMLコード。はい、私は自分のコンポーネントをIBDesignableとして作っています。実行時にウィジェットを表示できますが、インターフェースビルダーのプレビューでは表示されません。 – Manish

+0

する必要はありません。ストーリーボードの「View Controller」がポイントされているだけで、View Controllerに「インポート」します。デフォルトでは、単一のビュープロジェクトでは 'ViewController'と呼ばれます。私は私の答えにスクリーンショットを追加します。 – dfd

+0

はい、私はそれをやっていましたが、ストーリーボード上でプレビューを見ることができませんでした。私はサンプルコードを共有しました。あなたが私が逃しているものを確認して見ることができるなら、それは非常に役に立つでしょう – Manish

関連する問題