我创建了一个简单的cocoa项目,并在窗口中添加了NSButton
。
然后我在窗口中添加了NSScrollView
并隐藏了NSButton
。
但是,当我单击滚动视图时,奇怪的是NSButton
操作响应!
我想触摸事件链有一些东西,但我找不到它。 例如,我尝试使用:
- [NSView becomeFirstResponder];
- [NSView setAcceptsTouchEvents:];
所以我想要的只是最前面的视图成为第一个响应者,并且触摸事件不会被发送到它的超级视图左右。
感谢。 这是视图层次结构:
滚动视图和按钮都添加到窗口视图中,滚动视图的框架包含按钮的框架。换句话说,该按钮被滚动视图隐藏但仍然接收点击事件。
答案 0 :(得分:0)
您需要在mouseDown:
或NSScrollView
的视图中添加NSCrollView
个事件。像这样:
-(void)mouseDown:(NSEvent *)theEvent {
NSLog(@"MouseDown in NSView");
}