gpt4 book ai didi

cocoa - 无法从 appdelegate.m 为 NSProgressIndicator 制作动画

转载 作者:行者123 更新时间:2023-12-03 16:19:37 24 4
gpt4 key购买 nike

我之前曾在 IOS 上工作过,但刚刚开始在 MacOsX cocoa 应用程序上工作。我遇到了有关 NSProgressIndicator 的问题。

当我创建应用程序时,我有了 appdelegate。 h & .m 和 mainmenu.xib。我将不确定进度指示器添加到 MainMenu.xib 中,并在 Appdelegate.h 文件中使用 IBOutlet 将其连接到 NSProgressIndicator 的实例。

@property (nonatomic, retain) IBOutlet NSProgressIndicator* activityIndicator;

在我的 Appdelegate.m 文件中,我这样做:

activityIndicator = [[NSProgressIndicator alloc]initWithFrame:NSMakeRect(206,82,120,120)];

[activityIndicator setStyle:NSProgressIndicatorSpinningStyle];

[activityIndicator startAnimation:nil];

当我运行程序时,我可以看到进度条(如预期),但它没有动画。任何解决方案都会有很大的帮助,如果它是一个逻辑错误,请解释一下,以便我可以学习。非常感谢。

最佳答案

这就是您当前正在做的事情:

  1. 您在界面构建器中添加了进度 View
  2. 您为其声明了一个属性并在界面构建器中连接了它
  3. 然后,您可以在运行时以编程方式创建一个新的进度 View 并将其分配给您的变量。

您基本上创建了一个全新的进度 View 实例,并希望为其设置动画,而不是从 nib 文件加载的实例。它实际上没有动画的原因是,因为您运行应用程序时看到的进度 View 是界面生成器中的进度 View (您没有动画)。您以编程方式创建的 View 不会添加到 View 层次结构中,因此它是不可见的。

您必须在 Interface Builder 中创建进度 View ,分配 socket 然后使用它,即删除此行:

activityIndicator = [[NSProgressIndicator alloc]initWithFrame:NSMakeRect(206,82,120,120)];

或者您可以通过编程方式创建进度 View ,但随后您必须将其添加到您的 View 中。

如果要修改从 nib 文件加载的进度 View 的位置,请设置框架属性而不是创建新实例。

activityIndicator.frame = NSMakeRect(206,82,120,120);

关于cocoa - 无法从 appdelegate.m 为 NSProgressIndicator 制作动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com