Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UIBarButtonItem动作选择器适用于iPad,但不适用于iPhone_Iphone_Ios_Ipad_Uibarbuttonitem - Fatal编程技术网

UIBarButtonItem动作选择器适用于iPad,但不适用于iPhone

UIBarButtonItem动作选择器适用于iPad,但不适用于iPhone,iphone,ios,ipad,uibarbuttonitem,Iphone,Ios,Ipad,Uibarbuttonitem,下面的代码将UIBarButtonim添加到我的导航控制器。当我点击iPad模拟器上的条形按钮时,会调用选择器buyApp,但iPhone模拟器上不会调用相同的选择器buyApp UIBarButtonItem *buyButton = [[UIBarButtonItem alloc] init]; buyButton.title = NSLocalizedString(@"BUY", nil); [buyButton setTarget:self]; [buyButton setAction:

下面的代码将UIBarButtonim添加到我的导航控制器。当我点击iPad模拟器上的条形按钮时,会调用选择器buyApp,但iPhone模拟器上不会调用相同的选择器buyApp

UIBarButtonItem *buyButton = [[UIBarButtonItem alloc] init];
buyButton.title = NSLocalizedString(@"BUY", nil);
[buyButton setTarget:self];
[buyButton setAction:@selector(buyApp:)];
self.navigationItem.rightBarButtonItem = buyButton;
更新:我正在将xib用于UI,并将其viewcontroller推到导航控制器上

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"BUY" style:UIBarButtonItemStyleBordered target:self action:@selector(buyApp)] autorelease];  

为了减少代码行,最好尝试一下这个方法。好的,我找到了问题所在。代码没有问题

问题在于测试。我尝试验证功能的方法是使用NSLog打印字符串。然而,在使用模拟器进行测试时,我使用硬件->设备->iPhone在模拟器之间切换,无法看到NSLog输出


一旦我明确停止iPad模拟器并在iPhone模拟器中重新启动应用程序,我就可以获得NSLog输出。奇怪的模拟器行为

我试过你的代码,在两个模拟器中都很好。你应该提供更多关于你的应用程序是如何设置的信息。您是在使用故事板、XIB还是在代码中完成这一切?应用程序委托中的代码是什么样子的?