iOS - 当按下按钮时不会调用方法

问题描述:

我目前在一个正在处理的应用程序中有一个按钮,当按下按钮时,它似乎不会在按下按钮时调用该方法。我认为添加了所有正确的代码,并正确地连接了所有东西,但似乎并非如此。iOS - 当按下按钮时不会调用方法

ViewControllerRootHome.h

@property (weak, nonatomic) IBOutlet UIButton *btndev; 

- (IBAction)showDev:(id)sender; 

ViewControllerRootHome.m

@synthesize btndev = _btndev; 

- (IBAction)showDev:(id)sender { 

    NSLog(@"dev button pressed"); 
    //dev button pressed 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
    ViewControllerDev *dev = (ViewControllerDev *) [storyboard instantiateViewControllerWithIdentifier:@"dev"]; 
    [self presentModalViewController:dev animated:YES]; 
    NSLog(@"dev button press End"); 
} 

执行并不甚至达到了冷杉的方法登录声明。

事情有线了这样,

在一个侧面说明,上面写着“日志”似乎是加载场景罚款,但不管是什么原因按钮“开发”按钮并不想调用的方法/加载场景。

喔一切的源代码可以在这里找到,https://github.com/ipatch/KegCop

wiring

+1

您是否尝试清洁您的projet(菜单“产品” - >“清洁”),甚至在重新编译并重新安装之前,从iPhone模拟器(或设备,如果您在实际设备上测试)中删除应用程序模拟器(或设备)?它可能只是Xcode搞乱了,旧的XIB没有正确重新编译?试着在另一个位置移动你的“dev”按钮,或者改变它在XIB/Storyboard中的标题,并检查当你运行时确保你在预期的XIB/Storyboard文件上工作并更新了它。 – AliSoftware 2013-04-09 23:21:36

该按钮能正常工作,所以如果你有问题,我想请您看看AliSoftware的评论关于确保到清理你的构建。但如果你看看方法名,showDev的左边,你会看到当IBOutlet正确地迷上了坚实的子弹:

enter image description here

如果你比较的是另一种方法,这其中,saveMasterEmail目前不挂接正确,由空圈证明该方法的左侧:

enter image description here

无关,你的代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
ViewControllerDev *dev = (ViewControllerDev *) [storyboard instantiateViewControllerWithIdentifier:@"dev"]; 
[self presentModalViewController:dev animated:YES]; 

可以简化为:

UIViewController *dev = [self.storyboard instantiateViewControllerWithIdentifier:@"dev"]; 
[self presentModalViewController:dev animated:YES]; 

或者,更简单,定义该按钮的赛格瑞,你不需要做任何代码。

最后,我会确保你避免在你的场景之间循环引用。您不应该从AB,然后再从BA,进行模态轮询(或presentViewControllerpresentModalViewController)。如果您从AB进行模态调整,您应该致电dismissViewControllerAnimated返回到A。否则,你将有两个漂浮的实例A

+0

首先,我真的很感谢彻底的回应,其次我删除了故事板文件中的“dev”按钮。然后我做了一个“产品” - >“清洁”。之后,我点击“运行”按钮,但即使在我删除它后仍然显示该按钮,所以无论出于何种原因,我的更改没有写入故事板文件或类似的东西: - /再次感谢Rob的彻底回应。 – Chris 2013-04-10 18:23:55

+1

以下在这个SO线程的建议,http://*.com/questions/692064/cleaning-up-the-iphone-simulator我删除了一切从模拟器,似乎现在正在更新用户界面*保持手指交叉* – Chris 2013-04-10 19:12:35