NSTextView放在NSScrollView上,當(dāng)鼠標(biāo)懸停在NSTextView上滾動(dòng)鼠標(biāo)滾輪時(shí)會(huì)發(fā)現(xiàn)NSScrollView并不會(huì)滾動(dòng),事件被NSTextView所攔截,只要重寫scrollWheel方法就可以
1.自定義一個(gè)scrollview
2.重寫scrollWheel方法
- (void)scrollWheel:(NSEvent *)event {
if ([self.subviews[0].subviews[2] isKindOfClass:[NSTextView class]]) {
NSTextView *tempView = self.subviews[0].subviews[2];
if (tempView.string.length == 0) {
[[self nextResponder] scrollWheel:event];
}
}else if (self.verticalScroller.floatValue == 1){
if (event.deltaY < 0) {
[[self nextResponder] scrollWheel:event];
}else{
[super scrollWheel:event];
}
}
if (self.verticalScroller.floatValue == 0) {
if (event.deltaY > 0) {
[[self nextResponder] scrollWheel:event];
}else{
[super scrollWheel:event];
}
}
[super scrollWheel:event];
}