1

次のコードは、ナビゲーション コントローラーに UIBarButtonItem を追加します。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;

更新: UI に xib を使用しており、ナビゲーション コントローラーにビューコントローラーをプッシュしています。

4

2 に答える 2

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

コード行を減らすためにこれを試してみることをお勧めします

于 2012-11-05T04:54:31.110 に答える
0

わかりました、私は問題が何であるかを見つけました。コードに問題はありません。

問題はテストにありました。機能を確認しようとしていた方法は、NSLog を使用して文字列を出力することでした。ただし、シミュレーターを使用してテストしているときに、ハードウェア -> デバイス -> iPhone を使用してシミュレーターを切り替えたところ、NSLog の出力が表示されませんでした。

iPad シミュレーターを明示的に停止し、iPhone シミュレーターでアプリを再起動すると、NSLog 出力を取得できました。奇妙なシミュレーターの動作。

于 2012-11-05T10:19:08.710 に答える