0

モーダル ビュー コントローラーを閉じた後、ViewController に UIImageView を追加しようとしています。しかし、何らかの理由[self.view addSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Logo.png"];で UIImageView をディスプレイに追加していないか、少なくとも表示されていません。モーダル ビュー コントローラーで呼び出しているサンプル コードを以下に示します。

/* Modal View Controller */
- (IBAction)hideModal:(id)sender {
   [self dismissViewControllerAnimated:YES completion:^() {
    TestViewController *gv = [self.storyboard instantiateViewControllerWithIdentifier:@"testView"];
    [gv view];
    [gv addLogo];
   }];
}
/* TestViewController */
-(void)addLogo {
    [self.view addSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Logo.png"];
}
4

3 に答える 3

0

完了ブロックからのメソッド呼び出しを変更する

/* Modal View Controller */
- (IBAction)hideModal:(id)sender {
   [self dismissViewControllerAnimated:YES completion:nil];
    TestViewController *gv = [self.storyboard instantiateViewControllerWithIdentifier:@"testView"];
    [gv view];
    [gv addLogo];

}
/* TestViewController */
-(void)addLogo {

    UIImage *myImage = [UIImage imageNamed:@"Logo.png"];

    UIImageView *myImageView = [[UIImageView alloc] initWithImage:myImageView];
    myImageView.frame = CGRectMake(0,0,100,100);

    if(myImage)
     {
       [self.view addSubview:myImageView];
       [self.view bringSubViewToFront:myImageView];
     }
    else
     {
       NSLog(@"no image found");
     }
}
于 2013-03-20T19:29:53.107 に答える
0

完了ブロックは、表示されている最初のView Controllerと同じではありませんでした。
モーダルView Controllerの下に表示されているView Controllerを参照しようとするときは、次のコードを呼び出します。

    [self dismissViewControllerAnimated:YES completion:^() {
    UINavigationController *nav = (UINavigationController *)[UIApplication sharedApplication].keyWindow.rootViewController;
    gv = (TestViewController *)nav.topViewController;
    [gv displayLogo];
}];
于 2013-03-20T21:15:22.380 に答える
0

変化する

[self addSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Logo.png"]];

[self.view addSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Logo.png"] autorelease]];

もう 1 つの方法は、TestViewController の viewDidAppear から addSubview メソッドを呼び出すことです。

于 2013-03-20T19:49:07.630 に答える