我有一个dylib框架,其中包含一些在swift中创建的UIView子类,我已经完成了使用新的@IBDesignable
和@IBInspectable
内容。
所以我可以说我的UITextField
子类名为MyTextField.swift
,如下所示:
MyTextField.swift
@IBDesignable class MyTextField: UITextField {
// some properties etc.
// content is irrelevant
}
现在它在InterfaceBuilder中编译并运行良好到目前为止一切顺利。但我需要做的是将这个特殊的子类导入到我的控制器的Objective C实现中,以便在运行时在代码中设置属性。
框架(名为myViews
)有一个名为myViews.h
的标头,我可以将其导入控制器标头,如下所示:
MyViewController.h:
@import myViews;
#import <UIKit/UIKit.h>
#import "myViews.h"
@interface MyViewController : UIViewController
@property(weak, nonatomic) IBOutlet MyTextField *txtName; // <-- This is the problem!
@end
这就是我被困住的地方!因此,导入的标题中未知类MyTextField
。 myViews.h
已自动生成。我试图在那里导入桥接头没有成功。
myViews.h:
#import <UIKit/UIKit.h>
//! Project version number for myViews.
FOUNDATION_EXPORT double myViewsVersionNumber;
//! Project version string for myViews.
FOUNDATION_EXPORT const unsigned char myViewsVersionString[];
// In this header, you should import all the public headers of your framework
// using statements like #import <myViews/PublicHeader.h>
#import <myViews/MyTextField-Swift.h> // <-- This is what I've tried to import here which doesn't work as well.
希望有人可以帮助我。提前谢谢。
答案 0 :(得分:0)
在您的objective-c类中,尝试导入您的swift模块:
#import "<ModuleName>-Swift.h"
其中ModuleName是包含swift代码的模块的名称