2014-10-26 67 views
0

在我的ViewController.h中,我有以下内容。在故事板的UIView中使用子类

#import <UIKit/UIKit.h> 
#import <TimesSquare/TimesSquare.h> 

@interface PlusCalendarView : TSQCalendarView; 

@end 

@interface ViewController : UIViewController 

@property (nonatomic, strong) NSCalendar *calendar; 
//@property (strong, nonatomic) IBOutlet TSQCalendarView *myCalendarView; 
@property (strong, nonatomic) IBOutlet PlusCalendarView *myCalendarView; 


@end 

我想重写TSQCalendarView中的一些方法,所以我创建了一个名为PlusCalendarView的子类。 我的故事板看起来像下面:

enter image description here

的一个以上是一个UIView元件,另一种是一个的tableView。 UIView的元素有一个名为“PlusCalendarView”的自定义类,并连接到PlusCalendarView出口在ViewController.h

我的问题:这失败,并在界面生成器文件中的错误未知的类PlusCalendarView。我认为这是因为storyboard不知道我的自定义子视图叫做PlusCalendarView。我应该改变什么来解决这个问题?

回答

0

您需要创建自定义类的接口(.h)和实现(.m)。使用File new,告诉它你想创建一个名为PlusCalendarView的Cocoa类,并使其成为基类TSQCalendarView。将文件添加到您的项目中,并确保.m文件设置为包含在您的应用程序目标中。

这应该做到这一点。 Interface Builder知道如何找到项目中文件中定义的所有类。

+0

这正是我所期待的。谢谢! – 2014-10-26 22:06:05

+0

你能告诉我如何从PlusCalendarView调用ViewController中的方法吗?我想打电话给performSegueWithIdentifier,我相信做这个的正确位置是ViewController。 – 2014-10-26 22:54:14

+0

你写了“你能告诉我如何从PlusCalendarView中调用ViewController中的方法吗?”我不确定你在问什么。你想知道如何从你的PlusCalendarView回调到拥有的视图控制器? PlusCalendarView是UIView还是UIViewController?如果这是一个观点,那么就没有涉及到赛段。视图控制器只包含一个PlusCalendarView对象。 – 2014-10-26 23:11:17