【发布时间】:2014-11-04 08:06:08
【问题描述】:
我有一个 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.
希望有人可以帮助我。提前致谢。
【问题讨论】:
-
你有机器人 :) 你会碰巧知道如何导出那个 swift 类吗?
-
@AlexanderN 是的,我愿意!
标签: ios objective-c xcode frameworks swift