标签: nsbutton

如果NSTextfield为空,则禁用/启用NSButton

我是可可的新手.我的应用程序中有一个按钮和一个textField.我想在textfield为空时禁用该按钮,并在用户输入内容时启用.

有什么要开始的吗?Interface Builder中的任何"魔术"绑定?

谢谢

[EDITED]

我试图将appDelegate设置为NSTextfield的委托并添加了此方法(myTextfield和myButton是IBOutlets):

- (void)textDidChange:(NSNotification *)aNotification
{
    if ([[myTextField stringValue]length]>0) {
        [myButton setEnabled: YES];
    }
    else {
        [myButton setEnabled: NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

但没有任何反应......

cocoa nstextfield nsbutton

11
推荐指数
2
解决办法
2万
查看次数

如何通过按NSButton显示键盘?

我只知道在iOS上显示键盘的几种方法

触摸文本字段,搜索栏,textview .....

是否可以通过触摸按钮来显示键盘???

我希望我可以用这种方式设置一个按钮,如果按钮不小或可以重命名它.

谢谢你们〜

objective-c nsbutton ios

10
推荐指数
2
解决办法
2万
查看次数

NSButton - 在禁用模式下设置文本颜色

出于某种原因,当我的按钮被禁用时,文本颜色变为白色.我希望它保持黑色 - 我怎么能这样做?

macos cocoa objective-c nsbutton

10
推荐指数
3
解决办法
5193
查看次数

如何获得单选按钮的状态以及是否被选中?

我有一组单选按钮(矩阵),它有4个选项.我怎样才能找到选择的内容(以编程方式)并获得它的BOOL?

macos cocoa objective-c nsbutton

10
推荐指数
1
解决办法
4423
查看次数

Objective-c:NSButton setAction不起作用

我正在以编程方式制作几个按钮,并试图为每个按钮设置一个动作,但我似乎无法让它工作.

在我的AppController.h中我有这个代码:

...
IBOutlet NSButton* btnZoomIn;
IBOutlet NSButton* btnZoomOut;
...
Run Code Online (Sandbox Code Playgroud)

- (IBAction) zoomIn : (id) sender; 

- (IBAction) zoomOut : (id) sender;
Run Code Online (Sandbox Code Playgroud)

并在awakeFromNib方法中的AppController.m中:

/*zoom in and out buttons*/

//get the path to the image files
NSString* zoomInImgPath = [[NSBundle mainBundle] pathForResource:@"zoomIn" ofType:@"png"];
NSString* zoomOutImgPath = [[NSBundle mainBundle] pathForResource:@"zoomOut" ofType:@"png"];

//declare the NSImages
zoomInImg = [[NSImage alloc] initWithContentsOfFile:zoomInImgPath];
zoomOutImg = [[NSImage alloc] initWithContentsOfFile: zoomOutImgPath];

//button making!
//zoomIn
btnZoomIn = [[NSButton alloc] initWithFrame:NSMakeRect(1426.0, 920.0, 25.0, 25.0)];
[btnZoomIn setButtonType:NSMomentaryPushInButton];
[btnZoomIn setTitle:@""];
[btnZoomIn …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nsbutton

10
推荐指数
1
解决办法
1万
查看次数

NSButton延迟NSMenu - Objective-C/Cocoa

我想创建一个NSButton在单击时发送动作的动作,但是当按下它1或2秒时它会显示一个NSMenu.这里的问题与这个问题完全相同,但由于答案没有解决我的问题,我决定再问一次.

例如,转到Finder,打开一个新窗口,浏览一些文件夹,然后单击后退按钮:您转到上一个文件夹.现在单击并按住后退按钮:显示一个菜单.我不知道如何做到这一点NSPopUpButton.

cocoa delay show nsmenu nsbutton

10
推荐指数
3
解决办法
2114
查看次数

NSButton RadioGroup(NSMatrix Alternative)

我已经尝试过几次设置几个相似的按钮,都连接到相同的IBActions,但仍然无法复制RadioButton行为.

目前,我有5个按钮,一个NSView的所有孩子..

NSView
    - ButtonOne - NSButton (Square Button)
    - ButtonTwo - NSButton (Square Button)
    - ButtonThree - NSButton (Square Button)
    - ButtonFour - NSButton (Square Button)
    - ButtonFive - NSButton (Square Button)
Run Code Online (Sandbox Code Playgroud)

它们都与一个共同的IBAction相关联,其内容如下:

@IBAction func activityButtonPressed(sender: NSButton) {

    println("\(sender.title) Pressed")

}
Run Code Online (Sandbox Code Playgroud)

这可以捕获实际的mosueDown事件并发送到func(如预期的那样).

如何让他们在单选按钮模式下工作?即点击各种按钮时,是否有NSOnState和NSOffState切换?

当我尝试将按钮类型更改为单选按钮时,它会自动翻转回"切换"....

干杯,

一个

nsbutton swift

10
推荐指数
2
解决办法
3643
查看次数

单击时如何不突出显示NSButton的模板图像?

我在NSTableView的每一行都有NSButtons.

按钮图像在IB中设置,是带alpha通道的黑色图标:

在此输入图像描述

窗口设置为暗模式:

window?.appearance = NSAppearance(named: NSAppearanceNameVibrantDark)
Run Code Online (Sandbox Code Playgroud)

并进入正常模式:

window?.appearance = nil
Run Code Online (Sandbox Code Playgroud)

目标是窗口为白色时按钮应为黑色,窗口较暗时应为白色,单击时不改变.

在暗模式下,为了实现颜色变化,我在NSTableCellView子类中将按钮的图像"template"属性设置为true:

public override func awakeFromNib() {
    if darkMode {
        button.image?.isTemplate = true
    } else {
        button.image?.isTemplate = false
    }
} 
Run Code Online (Sandbox Code Playgroud)

IB中的按钮是这样制作的:

在此输入图像描述

这在macOS 10.12 Sierra中运行良好:当窗口为白色时,单击黑色按钮不会改变其外观,这是完美的.

但是当窗口很暗时,点击白色按钮使其变黑,这在我的情况下是不可接受的(*).此外,模板图像在macOS 10.11 El Capitan中不起作用.

好:

在此输入图像描述

点击,不行:

在此输入图像描述

然后再次点击黑色按钮使其再次变白......

我的问题是:如何在单击时强制NSButton不突出显示模板图像?

我认为这是因为"瞬间变化"类型,但使用其他"瞬间"类型并没有改变任何东西,我也不能将类型设置为"自定义"(IB拒绝).

请注意,与macOS 10.12相比,这些模板图像在macOS 10.11中的行为有所不同.在Sierra中无缝工作的设置组合在El Capitan中不起作用.这也是我设置奖金的原因:我需要两个系统的解决方案.如果没有解决方案并且您知道原因,那么您的解释也是可以接受的答案.

(*)在模板图像工作的Sierra上可以使用一种解决方法,用于在use button.cell?.setCellAttribute(.cellLightsByContents, to: 0)单击时停止按钮更改颜色(尽管仍有短暂的闪光).但是在El Capitan中,按钮在黑暗模式下是黑色的,所以这不适用.

macos cocoa nswindow nsbutton

10
推荐指数
0
解决办法
623
查看次数

如何使用Swift检查macOS应用程序的复选框的状态

任务似乎相对简单,我想要一个if语句来确定复选框是否被检查或者显然没有复选框但是我不知所措

我试过了

如果checkbox.state == everythign我可以想到但它总是错误EXC_BAD_INSTRUCTION或使用错误的cant转换变量类型到其他变量类型

macos checkbox xcode nsbutton swift

9
推荐指数
1
解决办法
6577
查看次数

鼠标悬停时,Cocoa osx NSButton显示文字

在我的Mac应用程序中,当用户将鼠标指针移到按钮上时,我想显示一些信息文本.像这样的东西:

在此输入图像描述

我怎样才能正确实现这一目标?

提前致谢.

macos cocoa text mouseover nsbutton

9
推荐指数
2
解决办法
6586
查看次数

标签 统计

nsbutton ×10

cocoa ×7

macos ×5

objective-c ×4

swift ×2

checkbox ×1

delay ×1

ios ×1

mouseover ×1

nsmenu ×1

nstextfield ×1

nswindow ×1

show ×1

text ×1

xcode ×1