【问题标题】:iPad Simulator not receiving touch events outside of iPhone's 320x480 frameiPad 模拟器在 iPhone 的 320x480 帧之外没有接收到触摸事件
【发布时间】:2010-07-21 00:35:40
【问题描述】:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

UITouch *touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self.view];
    NSLog(@"test x:%f",gestureStartPoint.x);
    NSLog(@"test y:%f",gestureStartPoint.y);
    etc..

奇怪的是,如果我在 320x480 帧之外(从左上角开始)单击,我不会收到任何日志语句。在 touchesBegan 的其他地方,我调用了其他传递 touch 的方法,但这些方法没有响应,所以将这些 NSLog 放入。

我必须做什么才能从完整的 1024x768 视图接收触摸事件?

【问题讨论】:

    标签: iphone objective-c xcode ipad touchesbegan


    【解决方案1】:

    你的 UIView 实际上是窗口的全尺寸吗?

    【讨论】:

    • 这可能是问题的答案,视图只在它们的框架中开始接触,而不是在所有的超级视图中。
    • 谢谢,这原本是一个iPhone/iPod项目,我把目标家庭设置为iPad。我调整了视图的大小,但不起作用..所以我删除并设置了一个新视图,将其设置为 784 x 1024,按帧左上角,向各个方向扩展(选中所有红色箭头)。仍然是相同的行为.. 我将尝试制作一个新的 iPad 应用程序,然后复制代码(旧项目来自 Xcode 4 之前的项目)。
    【解决方案2】:

    我认为“升级 iPad 的当前目标”任务中存在错误。

    我通过使用 iPad 创建一个新的“Window XIB”作为产品解决了这个问题,然后将 MainWindow-iPad.xib 中的 Window 对象替换为新 XIB 中的 Window 对象。 (请务必更新您的应用委托的“窗口”出口。)

    【讨论】:

    • 谢谢。制作一个新项目为我做到了。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    相关资源
    最近更新 更多