2012-01-09 22 views
0

完全に本格的なUIViewControllerのクラスがあり、そのページが読み込まれると非常にうまく動作します。UIViewControllerをUIViewに変換する

新しいViewControllerフォームを現在のViewControllerフォームにプッシュするのではなく、どのように変更したいのですか?通常、新しいUIViewControllerを起動する現在の画面のUIView内にこのUIViewControllerを表示したいと思います。

これは説明が難しいです。

UIVC_AはUIVC_BをNavControllerにプッシュします。

UIVC_BをNavControllerにプッシュする代わりに、

私はむしろUIVC_AでUIViewを作成し、これにUIVC_BをUIVC_Aのサブビューとして表示したいと思います。

この種のものを動作させるには、何が必要なのですか?

私は

CVC *cv = [[CVC alloc] init];  
UIView * aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 600, 600)]; 
aView.backgroundColor = [UIColor blueColor]; 
[aView addSubview:cv.view]; 
[self.view addSubview:aView]; 

を試みたが、それは動作しませんでした。

CVCはUIViewControllerです。

おかげで、 -code

答えて

0

CVCのXIBファイルがまだないアーカイブされていない持っているので、それは動作しませんでした。ビュー階層は、ロードされた後で使用可能です(コールバックは-viewDidLoadです)。

NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CVC" owner:nil options:nil]; // will return the whole view tree with the CVC's view as it's 0 object 
UIView *cvcView = [topLevelObjects objectAtIndex:0]; 

とビューと同じように進んでください。あなたがする必要がどのような

はプログラムでペン先をロードし、それは中身だ使用です。

1

は、私はあなたも、幸運を考えるあなたのCVCのビューコントローラ

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
if (self) { 
    // Custom initialization 
} 
return self; 
} 

にこの機能を追加し、このコードは私のために正常に動作して、このコード

CVC *cv = [[CVC alloc] initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  
UIView * aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 600, 600)]; 
aView.backgroundColor = [UIColor blueColor]; 
[aView addSubview:cv.view]; 
[self.view addSubview:aView]; 

てみてください!!!。

関連する問題