[英]macOS High Sierra and CAShapeLayers, NSImageView, NSTableView confilcts
我已经更新到macOS High Sierra,现在我的项目中出现了意外的问题,这些问题在macOS Sierra之前从未出现过。 我有自定义的NSImageView,并且在此NSImageView
拖放图像后,可以使用CAShapeLayers
和mouseDown
, mouseDragged
函数在图像顶部绘制矩形。 然后,我可以计算矩形内部图像部分的强度。 强度数据在数组中,该数组用于NSTableView
。 NSImageView
和NSTableView
在同一个NSView
。 强度计算在@IBAction
函数中。 更新后,当我按下用于计算强度的按钮时,矩形移到图像下方(在它们停留在顶部之前)。 我发现,造成这种影响的原因是该表的reloadData()
函数。 关闭此功能后,矩形将停留在图像顶部。
有人可以解释这些奇怪的事情吗,我该怎么做才能解决? 按下计算按钮后,我需要将矩形保留在图像顶部。
更新我已经更新了High Sierra,但是NSTableView的reloadData()
对消失CAShapeLayers
与以前相同的效果。
升级到High Sierra后,我遇到类似的问题,我添加到NSImageView的子视图不再显示。
为了解决该问题,按照此链接的建议,我在代码中添加了以下行(以编程方式添加了NSImageView):
imageView.wantsLayer = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.