【问题标题】:NSView subview right click not working over nsimageviewNSView 子视图右键单击无法在 nsimageview 上工作
【发布时间】:2013-08-07 12:58:04
【问题描述】:

我必须将两个子视图与一个视图关联。一个是处理右键单击的透明视图,另一个是带有 nsimageview 子视图的 nsview。由于某种原因,右键单击适用于除了 nsimageview 中的部分之外的超级视图的任何部分。透明视图位于另一个视图之上,但未触发鼠标右键事件。

【问题讨论】:

  • 这里也一样...真的需要这个答案。

标签: macos cocoa nsview right-click nsimageview


【解决方案1】:

我最终通过子类化图像视图并覆盖命中测试方法以返回 nil 来解决它。完整的实现如下:

@implementation TTBaseImageView

- (id)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
    }

    return self;
}

- (void)drawRect:(NSRect)dirtyRect
{
    // Drawing code here.
    [super drawRect:dirtyRect];
}

-(BOOL)isFlipped
{
    return YES;
}

-(BOOL)acceptsFirstResponder
{
    return NO;
}

-(BOOL)acceptsFirstMouse:(NSEvent *)theEvent
{
   return NO;
}

-(NSView *)hitTest:(NSPoint)aPoint
{
    return nil;
}
@end

【讨论】:

  • 该死的......多么不必要的解决方法......苹果请更新可可框架
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 2019-10-19
  • 2012-07-19
相关资源
最近更新 更多