2015-07-21 190 views
0

我想找到一種方法來初始化一個視圖控制器,它具有IBOutlets到我在XIB中創建的自定義視圖。用IBOutlets初始化視圖控制器到自定義視圖

這裏就是我初始化我的類的代碼:

MyContentViewController *pageContentViewController = [[MyContentViewController alloc] init]; 
self.pageContent = pageContentViewController; 
[pageContentViewController view]; 

MyContentViewController具有以下性質:

@interface MyContentViewController : UIViewController 

@property (nonatomic, weak) IBOutlet MyContentView *topLeftView; 
@property (nonatomic, weak) IBOutlet MyContentView *topRightView; 
@property (nonatomic, weak) IBOutlet MyContentView *bottomLeftView; 
@property (nonatomic, weak) IBOutlet MyContentView *bottomRightView; 

在MyContentViewController XIB我有一個我已經設置爲MyContentView和有掛鉤4次IBOutlet上面的故事板中的觀點。

enter image description here

自定義視圖的定義如下:

#import <UIKit/UIKit.h> 

@interface MyContentView : UIView 

@property (nonatomic, strong) IBOutlet UILabel *labelView; 

@end 

然而,當我運行應用程序,我得到我在廈門國際銀行MyContentViewController增加了4次。但是他們都沒有顯示自定義UIView的UILabel。

我已經添加在MyContentView如下:

- (void)awakeFromNib { 
    NSLog(@"VIEW AWAKE"); 
} 

此獲得印出這樣的看法正在被加載。但是,我怎樣才能讓他們使用4個IBOutlets進行顯示。

下面是一個運行該視圖的應用程序的圖片。沒有標籤的4個意見: enter image description here

+0

嗨,你可以嘗試聲明:MyContentViewController * VC = [[MyContentViewController頁頭] initWithNibName:@ 「YouXib」 捆綁:無]。 – Hindu

+0

感謝您的評論。然而,它正在加載MyContentView這個問題。激光鏈接包含答案。 – pls

回答

1

我看到你的「MyContentView」有它自己的筆尖。從另一個nib加載具有nib佈局的自定義UIView類會稍微複雜一些。

我覺得這blog post包含答案

+0

謝謝。鏈接確實包含答案。 – pls

相關問題