可可:NSView触摸事件

时间:2012-08-23 06:01:21

标签: cocoa touch nsview

我创建了一个简单的cocoa项目,并在窗口中添加了NSButton。 然后我在窗口中添加了NSScrollView并隐藏了NSButton。 但是,当我单击滚动视图时,奇怪的是NSButton操作响应!

我想触摸事件链有一些东西,但我找不到它。 例如,我尝试使用:


- [NSView becomeFirstResponder];
- [NSView setAcceptsTouchEvents:];

所以我想要的只是最前面的视图成为第一个响应者,并且触摸事件不会被发送到它的超级视图左右。

感谢。 这是视图层次结构:

enter image description here

滚动视图和按钮都添加到窗口视图中,滚动视图的框架包含按钮的框架。换句话说,该按钮被滚动视图隐藏但仍然接收点击事件。

1 个答案:

答案 0 :(得分:0)

您需要在mouseDown:NSScrollView的视图中添加NSCrollView个事件。像这样:

-(void)mouseDown:(NSEvent *)theEvent {
    NSLog(@"MouseDown in NSView");
}