Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 带有两个自定义按钮的NSToolBar_Objective C_Cocoa_Nstoolbar_Nstoolbaritem - Fatal编程技术网

Objective c 带有两个自定义按钮的NSToolBar

Objective c 带有两个自定义按钮的NSToolBar,objective-c,cocoa,nstoolbar,nstoolbaritem,Objective C,Cocoa,Nstoolbar,Nstoolbaritem,我是mac开发的初学者。我正在开发一个带有工具栏的应用程序。我只想在工具栏中添加两个自定义按钮 工具栏将如下所示。我用XIB试过这个,但是我没有得到这个东西 对此有何想法 提前感谢简短回答:您需要验证每个非默认工具栏项 长答覆: 首先,您需要将NSToolbarItem的操作连接到代码中的iAction 那么你有两个选择: 让自动验证器通过简单地检查是否存在有效的目标/操作对来完成其工作 亲自验证每个工具栏项。您可以在此处检查是否有任何内容需要复制/粘贴 验证示例: - (BOOL)val

我是mac开发的初学者。我正在开发一个带有工具栏的应用程序。我只想在工具栏中添加两个自定义按钮

工具栏将如下所示。我用XIB试过这个,但是我没有得到这个东西

对此有何想法


提前感谢

简短回答:您需要验证每个非默认工具栏项


长答覆:

  • 首先,您需要将
    NSToolbarItem
    的操作连接到代码中的
    iAction
  • 那么你有两个选择:
    • 让自动验证器通过简单地检查是否存在有效的目标/操作对来完成其工作
    • 亲自验证每个工具栏项。您可以在此处检查是否有任何内容需要复制/粘贴
  • 验证示例:

    - (BOOL)validateUserInterfaceItem:(id < NSValidatedUserInterfaceItem >)theMenuItem {
        BOOL enable = NO;
    
        if ([theMenuItem action] == @selector(myCopy:)) {
            if (isThereSomethingToCopy)
                enable = YES;
        }
        else if ([theMenuItem action] == @selector(myPaste:)) {
            if ( (isThereSomethingToPaste) && (thereIsValidPasteTarget) )
                enable = YES;
        }
        return enable;
    }
    
    -(BOOL)validateUserInterfaceItem:(id)菜单项{
    布尔启用=否;
    if([theMenuItem action]==@选择器(myCopy:){
    如果(这里有什么要复印的东西)
    启用=是;
    }
    else if([theMenuItem action]=@选择器(myPaste:)){
    如果((是否存在某个固定对象)和&(是否存在有效的固定对象))
    启用=是;
    }
    返回使能;
    }