0

UIStoryBoard を使用して、FirstViewController が 2 番目の ViewController のビューをサブビューとして追加できるようにしています。以下の方法でサブビューを削除する場合

FirstViewController.m

  - (IBAction) btnMoveTo:(id)sender
{

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
 UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"Second"];
 vc.view.backgroundColor = [UIColor clearColor];
 self.modalPresentationStyle = UIModalPresentationCurrentContext;
 [self presentModalViewController:vc animated:NO];

}

SecondViewController.m

-(void)viewDidLoad{
   self.view.opaque = YES;
   self.view.backgroundColor = [UIColor clearColor];
}

 - (IBAction) withDraw:(id)sender{
     [self.view removeWithZoomOutAnimation:2 option:nil];
    }

withDraw 関数にアクセスすると、SecondViewController のビューが削除され、firstViewController が返されます。ただし、ボタンを使用して - (IBAction) btnMoveTo:(id)sender 関数にアクセスすると。うまくいきません。本当に何も起こりません。提案や助けをいただければ幸いです。

4

1 に答える 1

0

ビューとビューコントローラを混同しています。ビューコントローラはビ​​ューを制御するオブジェクトであるため、最初に作成した行では、

UIStoryBoardを使用して、FirstViewControllerが2番目のViewControllerのビューをサブビューとして追加できるようにしています。次の方法を使用してサブビューを削除する場合

別のViewControllerのサブビューとしてViewControllerを追加することはできません。独自のビューを管理するビューコントローラを提示し、UIViewControllerのサブビューとしてUIViewを追加できます。AはsUIViewControllerを管理しUIViewます。

投稿したコードで発生している問題は、withDraw:関数をトリガーすると、ViewControllerのビューが削除されることです。ビューコントローラ自体ではありません。FirstViewControllerに再度アクセスするには、SecondViewControllerを閉じる必要があります。

于 2012-07-12T07:44:41.170 に答える