繁体   English   中英

macOS High Sierra和CAShapeLayers,NSImageView,NSTableView冲突

[英]macOS High Sierra and CAShapeLayers, NSImageView, NSTableView confilcts

我已经更新到macOS High Sierra,现在我的项目中出现了意外的问题,这些问题在macOS Sierra之前从未出现过。 我有自定义的NSImageView,并且在此NSImageView拖放图像后,可以使用CAShapeLayersmouseDownmouseDragged函数在图像顶部绘制矩形。 然后,我可以计算矩形内部图像部分的强度。 强度数据在数组中,该数组用于NSTableView NSImageViewNSTableView在同一个NSView 强度计算在@IBAction函数中。 更新后,当我按下用于计算强度的按钮时,矩形移到图像下方(在它们停留在顶部之前)。 我发现,造成这种影响的原因是该表的reloadData()函数。 关闭此功能后,矩形将停留在图像顶部。

有人可以解释这些奇怪的事情吗,我该怎么做才能解决? 按下计算按钮后,我需要将矩形保留在图像顶部。

更新我已经更新了High Sierra,但是NSTableView的reloadData()对消失CAShapeLayers与以前相同的效果。

升级到High Sierra后,我遇到类似的问题,我添加到NSImageView的子视图不再显示。

为了解决该问题,按照此链接的建议,我在代码中添加了以下行(以编程方式添加了NSImageView):

    imageView.wantsLayer = true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM