我有一个使用Swift编写的dylib框架,其中包含一些UIView子类,我已经使用了新的@IBDesignable和@IBInspectable功能。
假设我在这里有一个名为MyTextField.swift的UITextField子类,如下所示:
假设我在这里有一个名为MyTextField.swift的UITextField子类,如下所示:
@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.
希望有人能帮我解决问题。提前感谢。