UIBarButtonItem动作选择器适用于iPad,但不适用于iPhone
下面的代码将UIBarButtonim添加到我的导航控制器。当我点击iPad模拟器上的条形按钮时,会调用选择器buyApp,但iPhone模拟器上不会调用相同的选择器buyAppUIBarButtonItem动作选择器适用于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:
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还是在代码中完成这一切?应用程序委托中的代码是什么样子的?