代码之家  ›  专栏  ›  技术社区  ›  Kristopher Johnson

iPad/iPhone的接触点会因为校准而出错吗?

  •  8
  • Kristopher Johnson  · 技术社区  · 16 年前

    我有一个iPad应用程序,它使用整个屏幕(也就是, UIStatusBarHidden 在Info.plist文件中设置为true)。主窗口和主视图的帧设置为(0、0、768、1024)。主视图启用了多点触控。

    视图控制器有以下代码来处理触摸:

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
        for (UITouch *touch in touches) {
            CGPoint location = [touch locationInView:nil];
            NSLog(@"touchesMoved at location %@", NSStringFromCGPoint(location));
        }
    }
    

    当我在模拟器中运行这个应用程序时,它的工作原理和预期的差不多。当我将鼠标从屏幕的一边移到另一边时,报告的X值从0到767,报告的Y值从20到1023 known issue

    奇怪的是: 当我在实际的iPad上运行这个应用程序时,X值从0到767,但报告的Y值从-6到1017,而不是我预期的0到1023。

    2 回复  |  直到 16 年前
        1
  •  1
  •   MrHen    16 年前

    做了一些快速测试,我注意到了同样的事情。我启动了一个基于基本视图的项目,除了以下代码外,没有任何更改:

    (iPadTestsAppDelegate)

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
    
        // Override point for customization after app launch    
        viewController.view.multipleTouchEnabled = YES;
        viewController.view.userInteractionEnabled = YES;
    
        [window addSubview:viewController.view];
        [window makeKeyAndVisible];
    
        return YES;
    }
    

    (iPadTestsViewController)

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
        for (UITouch *touch in touches) {
            CGPoint location = [touch locationInView:nil];
            NSLog(@"touchesMoved at location %@", NSStringFromCGPoint(location));
        }
    }
    

    当我触摸屏幕的边缘时,它在x轴上报告负数,在y轴上从不点击0。通过添加一些变量来跟踪max和min,我可以看到iPad的各个角落:{5,2},{758,2},{5,1019},{758,1019}。

        2
  •  1
  •   Sylem    14 年前

    对于不同的UIInterfaceOrientations,我得到了不同的值

    UIInterfaceOrientation ori = [UIApplication sharedApplication].statusBarOrientation;
    CGPoint point = [touch locationInView:self];
    

    鉴于此,我认为这是软件问题,而不是设备问题。

    推荐文章