2016-04-19 8 views
2

私はUIButton SwiftサブクラスCustomButtonを持っており、接頭辞付きの名前をObj-Cに公開したいと思います。異なるObj-CとSwiftの名前を持つUIクラスをStoryboardで使用できますか?

@objc(PrefixCustomButton) public class CustomButton: UIButton { ... }

このクラスは、スイフトモジュールCustomModuleに存在します。私はこのモジュールをCocoapods経由でObjective-CとSwiftのアプリケーションに統合して、CustomButtonをテストしています。私はストーリーボードからCustomButtonを使用しようとすると、私は次のエラーを取得する:

Unknown class _TtC9CustomModule17CustomButton in Interface Builder file.

私も同じエラーストーリーボードにPrefixCustomButtonを使用して取得しようとしている:

Unknown class _TtC9CustomModule22PrefixCustomButton in Interface Builder file.

編集]を:@ Storyboard(SwiftプロジェクトとObj-Cプロジェクトの両方)でPrefixCustomButtonを使用する必要があるという点でマットは正しいです。私が欠けていた部分は、モジュール名を設定する必要がないということでした。

+0

'@objc(PrefixCustomButton)CustomButton:UIButton {...}'これはSwiftではありません。おそらく '@objc(PrefixCustomButton)class CustomButton:UIButton {...}' – matt

+0

すみません、編集されるでしょう! – faarwa

答えて

0

あなたはあなた自身が言っています:あなたはObjective-Cとは別の名前を公開しています。したがって、Interface Builderに関しては、クラスの名前はPrefixCustomButtonです。

+0

PrefixCustomButtonを使用すると、「Unknown class _TtC9AppName22PrefixCustomButton」がInterface Builderファイルにあります。 – faarwa

+0

まあ、私はしません。他に何かが起こっているはずです。 – matt

+0

これはUIButtonではなくStoryboardのUIViewとしてボタンを追加すると機能します。 – faarwa

関連する問題