我正在尝试自定义一个日历程序(最初是为 iPhone 编写的),我发现(http://code.google.com/p/iphonecal/)可以在 iPad 上工作。它是使用控制器和 UIView 的 .xib 文件编写的。
出于某种原因,它不会在整个视图右侧 2/3 的任何位置“触发” touchesEnded 。使用 iPhone 模拟器时效果很好,但 iPad 模拟器不行。
我的理解是touchesEnded监控整个视图,但在这种情况下似乎没有这样做。
关于可能导致这种情况的任何想法?
更新:它回来了......我重置了模拟器,做了一个干净的重新构建,问题又回来了。这是 UIView 右侧甚至没有触及的代码:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//-- touchesEnded
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
int width = self.frame.size.width;
UITouch* touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:self];
//UIView* theview=[self hitTest:touchPoint withEvent:event];
if(touchPoint.x < 40 && touchPoint.y < headHeight)
[self movePrevMonth];
else if(touchPoint.x > width - 40 && touchPoint.y < headHeight)
[self moveNextMonth];
else if(touchPoint.y > headHeight)
[self touchAtDate:touchPoint];
}