2016-05-31 16 views
0

UIViewControllersubviewを追加しました。新しいUIViewControllerをクリックしてボタンをクリックしてください。新しいUIViewCOntrollerをUiViewで追加する方法

新しくUIViewControllerにボタンを使用できません。

私が書き込みを持っているコード:

​​
+1

明確にあなたの質問を理解していません。なぜ新しいView Controllerを現在のものにプッシュしたりプレゼンテーションしたりしていないのですか? – Lion

+0

ここで@Lionと同意します。無限にView Controllerをプッシュできますか?最初に表示されたビューコントローラに表示されているボタンを新しくプッシュされたビューコントローラに表示するには、そのボタンを新しいビューコントローラのビューのサブビューとして追加する必要があります。これにより、無限のビューコントローラー(プッシュボタン - >新しいコントローラー - >プッシュボタン - >新しいコントローラー - >など)が無限にスタックされます。あなたは何を達成しようとしていますか? – thephatp

答えて

0

これはあなたの問題を解決します。これは、あなたに強いポインタがないときにView Controllerの割り当てが解除されているために起こります。

DetailsOfDayViewController *aViewController =[[DetailsOfDayViewController alloc] initWithNibName:@"DetailsOfDayViewController" bundle:nil]; 
aViewController.dateParsing = dateparsing; 
[self addChildViewController:aViewController]; 
[self addSubview:aViewController.view]; 

別の修正はプロパティに、このビューコントローラを接続します。

@property(nonatomic,strong) DetailsOfDayViewController *aViewController; 

そして、このようにコードを変更します。

self.aViewController = [[DetailsOfDayViewController alloc] initWithNibName:@"DetailsOfDayViewController" bundle:nil]; 
self.aViewController.dateParsing = dateparsing; 
[self addSubview:self.aViewController.view]; 
0

あなたはオプションに

1.サブビュー

newViewControllerObj.view.frame = oldViewControllerObj(self).view.frame 
    [oldViewControllerObj(self).view.newViewControllerObj.view]; 

2.現在

を追加し、次のことができ、別のコントローラを示します
[oldViewControllerObj(self) presentViewController: newViewControllerObj animated:YES completion:nil]; 

3.ナビゲーションを使用してプッシュ(このためにすでにルートコントローラとしてナビゲーションコントローラを設定する必要があります)

[oldViewControllerObj(self).navigationController pushViewController:newViewControllerObj animated:YES]; 
関連する問題