0

タップしてUIViewController MyViewControllerを表示してから閉じたいと思いUICollectionViewCellます。

だから、私のdidSelectItemAtIndexPathで:

CGRect myFrame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
myController.view.frame = myFrame;
[self.view addSubview:myController.view];

できます!

MyViewControllerには、UIButton次のものがリンクされています。

- (IBAction)close:(id)sender {
    [self.view removeFromSuperview];
}

しかし、ボタンをタップすると、closeメソッド呼び出しの代わりに次のようになります。

ここに画像の説明を入力

編集calampunayManoharに感謝

問題が解決しました。ただし、addSubviewremoveFromSuperviewの両方を、 MyViewControllerをプロパティとして宣言した AppDelagate に置き換えました。その理由は、他のタブ (アプリに TabBar がある) などにジャンプする場合でも、MyViewControllerを閉じたいからです。

他の場所(フレーム内ではない)をタップしてもMyViewControllerが閉じられるとよいでしょう。

4

2 に答える 2

0

.h ファイルで宣言

MyViewController *myController;

メートルで

myController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
myController.view.frame = myFrame;
[self.view addSubview:myController.view];

- (IBAction)close:(id)sender 
{
    [myController.view removeFromSuperview];
}
于 2013-04-11T06:48:27.360 に答える