objective-c - 如何以编程方式或通过按钮等方式触发 IBAction 方法?

标签 objective-c xcode model-view-controller interface-builder nswindow

通过创建 IBAction 方法并将其连接到 IB 中的按钮,我可以轻松地“做某事”。例如……

-(IBAction)popThat:(id)sndr{ [windy setFrame:eRect display:YES];}

但是,终究,我无法弄清楚如何通过简单、可调用的方法...即

-(void) popThatMethod { [windy setFrame:eRect display:YES]; }

-(void) awakeFromNib  { [self popThatMethod];               }

期望此方法会做与单击按钮相同的事情...因为它们是相同的...但不是。什么都没发生。 我在这里错过了什么?

最佳答案

我并没有说这绝对是最好的答案,或者是正确的方法,但一种可行的方法是将以下内容放入 -applicationDidFinishLaunching::

[self performSelector: @selector(popWindow:) withObject:self afterDelay: 0.0];

这会导致它在运行循环的下一次传递时被调用,到那时之前没有的东西现在就位了。

关于objective-c - 如何以编程方式或通过按钮等方式触发 IBAction 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9219610/

相关文章:

iphone - 使用 Storyboard在两个 Controller 之间传递数据

ios - 不能将 .ttf 字体包含到项目中

objective-c - 使用 ASIHTTPRequest

ios - 您可以在 iOS 应用程序中全局禁用旋转吗?

java - Spring 4 Controller MVC 最佳实践 - 服务关系

ios - 需要两次点击才能显示隐藏的 UINavigationBar

iphone - Core Graphics - 以一定角度画一条线

ios - 单元测试,iOS,DTXProxyChannel 错误 1

java - MVC 模型适合基本的纸牌游戏吗?

c# - 在登录中验证 EMAIL-MVC