首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSProgressIndicator setDoubleValue in NSToolbarItem no work

NSProgressIndicator setDoubleValue in NSToolbarItem no work
EN

Stack Overflow用户
提问于 2015-03-11 15:36:00
回答 1查看 374关注 0票数 0

我将NSProgressIndicator放在两个位置(一个用于窗口的内容视图,另一个用于使用setView函数的toolbarItem )

Mac OS X 10.10/Xcode 6.1

当window的NSProgressIndicator中的NSProgressIndicator工作时,通过IB和称为"go“的测试方法来连接contentView。但在toolbarItem中不是工作。为什么?

代码语言:javascript
复制
@property (nonatomic) IBOutlet NSProgressIndicator *progressIndicator;

- (IBAction)go:(id)sender {

    [progressIndicator setUsesThreadedAnimation:YES];

    for (int i = 0; i <= 1000; i++) {

        [progressIndicator setDoubleValue:(double)i];
        [progressIndicator displayIfNeeded];
    }
}

EN

回答 1

Stack Overflow用户

发布于 2015-03-11 16:14:04

您不能真的为工具栏中的项中的视图设置插座。您在NIB中设置的内容是工具栏项目的原型。它在运行时并不是实际的项目。要找到进度指示器,您需要枚举窗口工具栏中的项,找到具有分配给包含进度指示器的项的标识符的项,获取它的视图,并使用它。如果进度指示器不是项目的唯一视图-也就是说,如果您的项目的视图包含视图层次结构,并且某个子项是进度指示器-您必须使用常用技术在视图中查找进度指示器,例如按标签搜索(-viewWithTag:)。

下面是简单情况下的示例代码:

代码语言:javascript
复制
for (NSToolbarItem* item in self.window.toolbar.items)
{
    if ([item.itemIdentifier isEqualToString:YourIdentifierForTheToolbarItem])
    {
        NSProgressIndicator* progressIndicator = (NSProgressIndicator*)item.view;
        progressIndicator.doubleValue = 20;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28980931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档