长话短说:我有一个用 Xcode 4.2 为 iOS5 开发的项目。我在模拟器上运行它,一切都很顺利。
最近我在 Xcode 4.5.1 中将项目移植到 iOS6。不久之后,我注意到没有按钮(内部事件的修饰)正在触发它们的 connected IBActions
。我通过将NSLog
函数调用放在IBActions
. 看起来好像连接根本不存在,尽管我在 Interface Builder 中检查了三次是否存在连接。
我最近建立了一个简单的测试项目。一个只有一个按钮的单页故事板应用程序,连接到IBAction
Touch Up Event 中的一个按钮。IBAction
根本没有被解雇。然后我为按钮制作了一个插座并使用以下方法手动连接它:
[btn addTarget:self action:@selector(onButton:) forControlEvents:UIControlEventTouchUpInside];
这次它起作用了——输出显示在控制台上。但是,如果我注释掉该行,它就不起作用,尽管它使用 Interface Builder 连接到同一个事件。这个问题的解决方法是显而易见的,但也非常乏味和不切实际。
关于可能导致此问题的任何想法?