2016-06-29 146 views
1

我創建了一個xib文件。 enter image description here如何將自定義UIView從xib文件加載到UIViewController中的UIView中?

下面是代碼:

#import "LoginView.h" 
@implementation LoginView 

-(id)initWithFrame:(CGRect)frame{ 
self = [super initWithFrame:frame]; 
if (self) { 
    // Initialization code 
    [self setup]; 
} 
return self; 
} 

-(void) setup{ 
[[NSBundle mainBundle] loadNibNamed:@"LoginView" owner:self options:nil]; 

self.bounds = self.loginView.bounds; 

[self addSubview:self.loginView]; 
} 

現在,我創建了一個視圖控制器和一個UIView添加到它。在viewWillAppear中,我試圖將xib文件加載到我的視圖控制器中定義的UIView中。

-(void)viewWillAppear:(BOOL)animated{ 
self.containerView.layer.borderColor = [UIColor blackColor].CGColor; 
self.containerView.layer.borderWidth = 2.0f; 
LoginView *loginView = [[LoginView alloc] initWithFrame:CGRectMake(self.containerView.frame.origin.x,self.containerView.frame.origin.y, self.containerView.frame.size.width, self.containerView.frame.size.height)]; 
[self.containerView addSubview:loginView]; 
} 

但是,在廈門國際銀行文件是要定義的UIView,我叫containerView之外。我已經將容器視圖鏈接到ViewController中的UIView。

@property(nonatomic, weak) IBOutlet UIView *containerView; 

誰能幫我爲什麼我收到這個輸出?我需要在ViewController的containerView中獲得自定義的uiview。像文本框和按鈕應該在黑色邊框內。

enter image description here

回答

1

當您添加您的容器視圖查看,則x和y應該是0,0

您需要更換此:此

LoginView *loginView = [[LoginView alloc] initWithFrame:CGRectMake(self.containerView.frame.origin.x,self.containerView.frame.origin.y, self.containerView.frame.size.width, self.containerView.frame.size.height)]; 

LoginView *loginView = [[LoginView alloc] initWithFrame:CGRectMake(0,0, self.containerView.frame.size.width, self.containerView.frame.size.height)]; 

希望這有助於!

+0

現在,自定義視圖位於定義的容器視圖內。但它不符合這個觀點。如何完美地適應容器視圖中的自定義視圖> – bthapa

+0

你可以給出一個截圖,它現在如何顯示。 –

+0

http://screenshot.net/rr04zfm, – bthapa