我引用了名为“Comic Strip”和“Balloon Stickies Free”的应用程序
当我添加一个语音气球并触摸s.b或s.b的尾巴时,它可以正常工作。但当我触摸s.b和s.b尾部周围或之间的尾巴时,它不起作用。照片触摸并在s.b.
下面工作所以我尝试使用hitTest:withEvent.
当我第一次触摸矩形或tailRect时它会起作用。但是,当我触摸对象中的其他位置,并且我再次触摸矩形或tailRect时,它不起作用。
那么如何修改这段代码呢?我不知道..请帮帮我
- (id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *hitView = [super hitTest:point withEvent:event];
if(CGRectContainsPoint(rectangle, currentPt)==YES || CGRectContainsPoint(tailRect, currentPt)==YES)
return hitView;
else
return nil;
}
答案 0 :(得分:1)
尝试覆盖- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
。
或者看看Ole Begemann's OBShapedButton。代码很容易修改 使用UIView而不是UIButton。
答案 1 :(得分:0)
请参阅此帖horizontal scrolling。使用此代码,您可以在单个UIWindow类中获取所有触摸事件。你必须写一些代码来适当地传递控制。