2012-11-11 85 views
0

我有一個從nib文件加載自定義視圖的代碼,但該自定義視圖的變量存在問題。從nib文件加載自定義視圖

- (id)initWithFrame:(CGRect)frame 
{ self = [super initWithFrame:frame]; 
if (self) { 
    // Initialization code 
    HomeMainView* views = (HomeMainView*)[[[NSBundle mainBundle] loadNibNamed:@"HomeMainView" owner:self options:nil] objectAtIndex:0]; 
    [self release]; 

    NSArray* permission = [NSArray arrayWithObjects:@"user_photos",@"publish_stream", nil]; 

    FBLoginView* fbLogin = [[[FBLoginView alloc] initWithPublishPermissions:permission defaultAudience:FBSessionDefaultAudienceFriends] autorelease]; 


    [views.FBLogin addSubview:fbLogin]; 
    [views.homeButton setTitle:@"asdf" forState:UIControlStateNormal]; 

    self = views; 

} 
return self; 
} 

我想將fbLogin添加到由Nib文件生成的視圖對象。問題是views.FBLogin生成錯誤,說無法識別的選擇器。

有人知道這裏有什麼問題嗎?

+0

什麼是錯誤輸出? – foggzilla

+0

[UIView FBLogin]:無法識別的選擇器發送到實例0x6e80be0 2012-11-11 18:36:40.153 xxx [1145:16803] ***終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:' - [UIView FBLogin] :無法識別的選擇器發送到實例0x6e80be0'這是它產生的錯誤 ***一次調用堆棧: ( – LittleFunny

+0

你確定'views'實際上是一個HomeMainView的實例,並且你的HomeMainView implm。有一個getter一個FBLogin視圖? – foggzilla

回答

0

確保您已在界面構建器中爲該視圖設置了自定義類。選擇視圖並按cmd +選項+ 3並設置自定義類。

1

我有同樣的問題,但它是因爲我需要把它添加到我的應用程序委託didFinishLaunchingWithOptions:

[FBLoginView class] 

沒有這個UIView的是一個UIView不是一個FBLoginView,因此無法識別的選擇。

+0

這應該被標記爲正確的! –

相關問題