2011-01-08 3 views
0

私のiPhoneプロジェクトにzxing(qrcodeスキャン)を組み込んでいます。私は、クラスファイルを.mから.mmにリネームすることを含む、動作させるための指示に従った。"UIButtonTypeをUIBarButtonItemStyleに変換することができません"というエラーを回避する方法はありますか?

私のプロジェクトでエラーが発生してコンパイルに失敗しました: "UIButtonTypeを 'UIBarButtonItemStyle'を引数に渡すと変換できません"というエラーがクラス内の次のコードで発生します。スキャン操作)

// Add scan button 
UIBarButtonItem *qrScanButton = [[UIBarButtonItem alloc] initWithTitle:@"Scan" 
    style: UIButtonTypeInfoLight 
    target:self action:@selector(qrScanButtonPressed)]; 
    [[self navigationItem] setLeftBarButtonItem: qrScanButton]; 
    [qrScanButton release]; 

私が、コードがうまくコンパイルブロック全体をコメントアウトした場合、問題が

style: UIButtonTypeInfoLight

であることをエラーからのようです。ファイルの種類が.mmになると機能しなくなります。これは、代替のバックボタンなどを追加するためのかなり標準的なコードブロックです。

誰かが解決方法を知っていれば、私は本当にそれを感謝します。

答えて

3

"UIButtonTypeInfoLight"は有効なUIBarButtonItemStyleではないという問題があります。 (上記リンクの下部にUIBarButtonItemStyle定数を検索する。)

有効な値は、現在(IOSの4.2)である:

  • UIBarButtonItemStylePlain
  • UIBarButtonItemStyleBordered
  • をUIBarButtonItemStyleDone

あなたはUIButtonTypeInfoLightを渡しています。これはUIButtonTypeであり、UIBarButtonItemの範囲では意味がありません。

+0

ありがとうございます!とても有難い。 – Pete

関連する問題