我最近用Xcode创建了一个应用程序。当2个图像发生碰撞时,它会将我发送到新的屏幕(这很好)。但是,当我按下按钮使我返回原始视图时,它变为空白。你能告诉我为什么吗?任何反馈都表示赞赏。
以下是来自First .h文件的代码:
@interface ViewController:UIViewController {
IBOutlet UIImageView *image1;
IBOutlet UIImageView *image2;
}
@property(nonatomic,retain)UIImageView * image1; @property(非原子,保留)UIImageView * image2;
- (无效)碰撞;
@end
从.m:
@interface ViewController()
@end
@implementation ViewController
@synthesize image1,image2;
- (void)touchesMoved:(NSSet *)触及withEvent:(UIEvent *)event {
UITouch *mytouch = [[event allTouches] anyObject];
image1.center = [mytouch locationInView:self.view];
[self collision];
}
- (void)collision {
if (CGRectIntersectsRect(image1.frame, image2.frame)) {
newview *second = [[newview alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:second animated:YES];
}
}
这是来自第二个.h的代码(带有返回按钮的代码):
来自.m:
@interface newview()
@end
@implementation newview
(IBAction)重试:(id)发件人{
ViewController * second = [[ViewController alloc] initWithNibName:nil bundle:nil]; [self presentModalViewController:second animated:YES];
}
答案 0 :(得分:0)
空白屏幕是(IBAction)重试的另一个模态视图:( id)发件人。
你应该使用[self dismissModalViewControllerAnimated:YES];在(IBAction)重试:( id)发送者返回上一个屏幕而不是呈现另一个模态视图。