我想要一个NSButton
带有图像和备用图像的图像。按下按钮时应显示备用图像,我还想从代码中显示备用图像,调用类似[button setSelected:YES]
. 这是否可能在不手动使用alternateImage
财产的情况下进行?
问问题
6728 次
4 回答
19
这是可能的,无需手动更改按钮的图像:
在 Interface Builder(xib/nib 编辑器)中,将 NSButton的类型设置为“Toggle”,图像将自动更改为备用图像/标题。
于 2014-05-27T10:59:58.840 回答
5
您可以使用NSButton
with 类型设置为,然后使用 的/状态在和NSToggleButton
之间切换。image
alternateImage
NSOnState
NSOffState
NSButton
NSButton* theButton = [[NSButton alloc] initWithFrame:....];
theButton.image = .....
theButton.alternateImage = .....
theButton.state = NSOffState; // displays the image
theButton.state = NSOnState; // displays the alternateImage
于 2014-09-30T11:42:28.903 回答
3
最简单的方法是在两个图像之间切换:
@implementation NSButton (Select)
- (void) setSelected: (BOOL) yn
{
NSImage *const tmp = [self image];
[self setImage:[self alternateImage]];
[self setAlternateImage:tmp];
}
@end
于 2011-03-16T14:21:38.497 回答
1
我只是在界面编辑器的属性检查器中构建了所有 10 种类型的按钮,没有添加任何编码。结果如下:
按钮类型 | 按住时 | 释放时 |
---|---|---|
瞬时推入 | 第一张图片变暗了 | 第一张图片 |
瞬间之光 | 第一张图片变暗了 | 第一张图片 |
瞬间变化 | 替代图片 | 第一张图片 |
推开/推开 | 第一张图片变暗了 | 第一张图片 |
开关 | 第一张图片变暗了 | 第一张图片 |
切换 | 替代图片 | 替代图片 |
转变 | 替代图片 | 替代图片 |
收音机(无效) | ||
加速器 | 第一张图片变暗了 | 第一张图片 |
多级ACC。 | 第一张图片变暗了 | 第一张图片 |
再次按下时,切换和切换将恢复为原始图像。(如果您在按钮的 Attribute Inspector 中将按钮类型更改为 Radio,它会恢复为 Switch。)
于 2021-06-05T20:31:28.917 回答