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

时间:2012-11-05 02:32:19

标签: iphone ios ipad uibarbuttonitem

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

UIBarButtonItem *buyButton = [[UIBarButtonItem alloc] init];
buyButton.title = NSLocalizedString(@"BUY", nil);
[buyButton setTarget:self];
[buyButton setAction:@selector(buyApp:)];
self.navigationItem.rightBarButtonItem = buyButton;

更新:我正在使用xib for UI并在导航控制器上推送它的viewcontroller。

2 个答案:

答案 0 :(得分:0)

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

最好尝试这个来减少代码行

答案 1 :(得分:0)

好的,我发现了问题所在。代码没有任何问题。

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

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