0

我最近用 Xcode 创建了一个应用程序。当 2 个图像发生碰撞时,它会将我发送到一个新屏幕(这很好)。但是,当我按下按钮返回原始视图时,它变为空白。你能告诉我为什么吗?任何反馈表示赞赏。

这是来自第一个 .h 文件的代码:

进口

@接口视图控制器:UIViewController {

IBOutlet UIImageView *image1;
IBOutlet UIImageView *image2;

}

@property (nonatomic, 保留) UIImageView *image1; @property (nonatomic, 保留) UIImageView *image2;

-(无效)碰撞;

@结尾

从.m:

导入“ViewController.h”

导入“newview.h”

@interface 视图控制器 ()

@结尾

@implementation 视图控制器

@合成图像1,图像2;

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

UITouch *mytouch = [[event allTouches] anyObject];
image1.center = [mytouch locationInView:self.view];

[self collision];

}

-(无效)碰撞{

if (CGRectIntersectsRect(image1.frame, image2.frame)) {
    newview *second = [[newview alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:second animated:YES];


}

}

这是来自第二个 .h 的代码(带有返回按钮的那个):

  • (IBAction)重试:(id)发件人;

并从.m:

导入“newview.h”

导入“ViewController.h”

@interface 新视图 ()

@结尾

@实现新视图

  • (IBAction)重试:(id)发件人{

    ViewController *second = [[ViewController alloc] initWithNibName:nil bundle:nil]; [self presentModalViewController:第二个动画:YES];

}

4

1 回答 1

0

空白屏幕是 (IBAction)retry:(id)sender 的另一个模式视图。

你应该使用 [self dismissModalViewControllerAnimated:YES]; 在 (IBAction)retry:(id)sender 中返回上一个屏幕,而不是呈现另一个模态视图。

于 2012-12-19T02:20:33.360 回答