2013-03-13 40 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在您的視圖控制器在不同的視圖控制器做不同的事情。