SpriteKit在场景顶部添加UIView无法正常工作

时间:2014-11-10 04:12:32

标签: ios objective-c uiview

当我在我的SpriteKit场景上添加自定义UIView时,我无法弄清楚为什么我的按钮或任何可触摸元素不起作用(按预期显示只是触摸不起作用)。我也尝试在场景的视图和场景本身上设置userInteractionEnabled并且它不起作用。这是我的代码摘录:

 ShopView *shopView = [[ShopView alloc] initWithFrame:CGRectMake(self.view.frame.size.width * 0.02, self.view.frame.size.height * 0.2, self.view.frame.size.width * 0.96, self.view.frame.size.height * 0.6)];

        shopView.userInteractionEnabled = YES;
        [self.gameScene.view addSubview:shopView];

2 个答案:

答案 0 :(得分:0)

根据您提供的内容,我只能假设您放置在顶部的视图捕获所有触摸(例如将手放在正在运行的水龙头下 - 水不会到达下面的水槽),而且没有任何东西实际上正在到达下面的场景。考虑一种不同的方法。我不认为你完全理解如何一起使用视图和场景。

答案 1 :(得分:0)

我找到了比我更适合我的解决方案。我可以使用故事板,它可以让我的代码更清晰。我刚刚创建了具有透明背景的模态视图控制器。我正在为IOS8工作,所以代码如下(万一有人遇到同样的问题):

UIViewController *vc = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"myViewController"];

        vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        vc.modalPresentationStyle = UIModalPresentationOverCurrentContext;

        [self vc animated:YES completion:nil];