objective-c - 在 10.10 Yosemite 中禁用/自定义 NSPopUpButton 动画

标签 objective-c macos cocoa appkit nspopupbutton

上下文:

在 OS 10.10 中,Apple 为各种控件添加了一些新的微妙动画。例如,当您选中一个复选框时,蓝色的“选中”状态现在会通过从复选框中心向外扩展而呈现动画,而不是突然切换到“选中”图像。

类似地,当您打开 NSPopUpButton 并从菜单中选择一个项目时,菜单会以动画方式关闭,并且所选项目会“放大”到 popUpButton 中。

问题:

我自定义了 NSPopUpButton,它们的绘制方式与默认的 NSPopUpButton 不同:

enter image description here

当我在弹出菜单中选择一个项目时,10.10 中的新动画在动画时会短暂显示系统默认的 popUpButton 样式(蓝色右侧等)。

这是正在进行的动画的屏幕截图,显示了系统默认的 popUpButton 动画。(后面的深灰色矩形是我的自定义 NSPopUpButton 的“按下”状态):

enter image description here

我需要什么

如果使用自定义控件,该动画显然看起来很糟糕。有什么方法可以禁用它或自定义它吗?我一直找不到。

最佳答案

在 Interface Builder 中关闭 Bordered 属性似乎可以解决问题。

enter image description here

这是“有边框”和“有边框”的比较。

enter image description here

请注意,Bordered 属性默认显示为关闭,而实际上它是打开的。我只需选中然后取消选中它即可禁用它。

关于objective-c - 在 10.10 Yosemite 中禁用/自定义 NSPopUpButton 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26500965/

相关文章:

ios - 无法将字符串转换为仅限 iOS 13.3 的 NSDate

ios - 是否可以在 iOS 应用程序中使用 Touch-ID 身份验证和钥匙串(keychain)共享?

macos - 驱动程序导致 sleep 唤醒失败

java - 在eclipse中创建maven项目出错

c - Mac OS X : If there's a header needed when compile linux kernel, 但 os x 没有,我应该把它放在哪里?

objective-c - 将 OS X 键码转换为键位置? (与系统键盘语言/布局无关)

ios - 获取 block 的弱类型的宏

iphone - 检查 iPhone 中的麦克风音量

iphone - 下一页-上一页 有大量浏览量

objective-c - OSX 狮子 : different views in fullscreen and in windowed mode