- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 NSImageView,它从应用程序包加载图像。
设置如下:
coverImage.image = [NSImage imageNamed:@"themeSignEnd.png"];
coverImage.imageScaling = NSImageScaleNone;
coverImage.imageAlignment = NSImageAlignLeft;
图像显示得很好。
NSImageView 的大小是根据其他几个因素计算的,然后使用以下代码进行设置:
coverImage.frame = CGRectMake((1280 - 869) / 2, 0, 869 * percentage, 800);
第一次完成时(应用程序启动时),效果非常好。
NSImageView 具有相应的大小,并且包含的图像在适当的边框处被截断。
不幸的是,当我尝试在应用程序运行时调整 NSImageView 的大小(使用上面相同的代码)时,它不会明显更新。
NSLogging coverImage.frame
显示框架本身已正确更新。然而, View 似乎没有被重新绘制 - 无论是在缩小框架时还是在增长框架时。此外,当我退出并重新启动应用程序时,NSImageView 会绘制正确的边框。
什么会导致这种行为?
是否有可能 NSImageView 根本没有重绘?如果是这样,我怎样才能强制重绘?
我错过的 NSImageView 是否还有其他怪癖可能导致此行为?
编辑:
事实证明,只有当 ImageFrameStyle
属性设置为 NSImageFrameNone
时,才会发生此错误。如果框架设置为其他任何内容,它就会重新绘制。不幸的是,我们需要在没有框架的情况下显示图像。
有和没有框架的 NSImageViews 渲染有什么区别可以解释这一点吗?
最佳答案
我在将 NSImageView
imageFrameStyle
属性设置为 NSImageFrameNone
时遇到了非常类似的问题。问题出在自动布局设置中。您可以在这里查看我的问题:NSImageView won't scale image down if frame style is NSImageFrameNone
关于cocoa - 调整大小的 NSImageView 不重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045442/
我是一名优秀的程序员,十分优秀!