iOS 9.3 touchesBegan / Ended在模拟器

时间:2016-09-03 17:48:34

标签: ios objective-c simulator touchesbegan

touchesBegan not called in a UIView subclass)来自此主题的扩展名。

我在上述链接讨论中遇到了类似的问题,多年后,尝试将工作(已发布)的APP从2009升级到最新的iOS 9.3。我不得不添加一个UIViewController以防止崩溃,并在模拟器(XCODE MAC latest,iPhone6)中加载APP。正在重复调用drawView例程以按预期刷新屏幕,并且屏幕上的内容按设计动画。但没有点击。 touchesBegan / Ended永远不会被召唤。我可以开始加载代码,但想知道是否有任何直接的想法,因为似乎每个人都有这个问题,或类似的东西,在某些时候,它通常是一个非常简单的修复。谢谢。

更新这可能是额外的uiViewController弄乱了uiView,但这是需要这些APP版本之间的补充,不再自动生成。

尝试将uiView设置为firstResponder:

    - (id)initWithCoder:(NSCoder*)coder {
        if ((self = [super initWithCoder:coder])) {
            [self setUserInteractionEnabled:YES];
            [self setMultipleTouchEnabled:YES];
            [self becomeFirstResponder];

这些是uiView的(glView)触摸屏:

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { }
    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { }
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
        int page; [self adjustPage:&page with:0];
        ... }
    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
        int page; [self adjustPage:&page with:0];
        ... }

这是我的观点@interface EAGLView : UIView <UIAccelerometerDelegate> {。并将此viewController添加到委托中,以使其在加载时不会崩溃。

    @implementation OpenGLESAppDelegate
    @synthesize window;
    @synthesize glView;
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        UIViewController* vc = [[UIViewController alloc]initWithNibName:nil bundle:nil];
        self.window.rootViewController = vc;   
        glView.animationInterval = AHZ;
        [glView startAnimation];
        return YES;
        }

没有编译或运行时错误。

1 个答案:

答案 0 :(得分:0)

我有点击!!! 忘了将旧视图分配给新的viewController:vc.view = glView;现在,我需要找出代码签名和配置来获取它旧电话,但这是另一个故事。