2013-03-13 41 views
0

我正在开发一个包含最新SDK的iOS应用程序。将一个新的xib连接到继承自UIView的类

我想创建一个自定义UIView并使用XIB文件设置布局。

对于这个XIB,我已经使用Interface Builder添加了四个UIButton

现在我想将这四个按钮连接到我的自定义UIView类并在那里管理IBActions这非常重要,我必须这样做。

要加载我做的厦门国际银行:

- (id)initWithCoder:(NSCoder *)aDecoder { 
    if ((self = [super initWithCoder:aDecoder])) 
    { 
     [self addSubview:[[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" 
                 owner:self 
                 options:nil] objectAtIndex:0]]; 
    } 
    return self; 
} 

我也有一个故事板,我已经使用Interface Builder添加了UIViewViewController

我的问题是:如何在Interface Builder上将新的XIB文件连接到我的自定义UIView上需要做些什么?

我想我必须打开Interface Builder中这一新的厦门国际银行,并设置主ViewController作为文件的所有者,并设置我的自定义UIView类作为类这个新的厦门国际银行的看法,但我不知道。

然后,在主要的ViewController将这个新视图的类更改为我的自定义UIView

回答

0

在View.h

+(View *)loadViewFromNib; 

在View.m

+(View *)loadViewFromNib{ 
    return (View *)[[[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:0] objectAtIndex:0]; 
} 

要加载查看通话

View *view = [View loadViewFromNib]; 

在你View.xib文件中设置的文件的所有者类查看和您的查看课程查看只将Outlet连接到View,而不连接到FilesOwner!

+0

我更新了我的问题,并提供了更多详细信息。 – VansFannel

1

在Interface Builder中,将自定义类设置为CustomView。创建与此自定义类的连接。在你想使用这个xib的视图控制器中,只需使用loadNibNamed:owner:options:方法加载笔尖。

CustomView *cView = [[[NSBundle mainBundle] loadNibNamed:@"CustomView" 
                owner:nil 
                options:nil] objectAtIndex:0]; 
[cView.button1 addTarget:self action:@selector(actnForBtn1:) forControlEvents:UIControlEventTouchUpInside]; 
[cView.label1 setText:@"sometext"]; 
[self.view addSubview:cView]; 

,做添加方法actnForBtn1:(id)sender在您的视图控制器在不同的视图控制器做不同的事情。