iphone - 表示されない - uinavigationitem action




カスタマイズされたバーボタンアイテムで「ナビゲーションアイテムでサポートされていないプレーンスタイル」警告 (6)

backBarButtonItem leftBarButtonItemおよびrightBarButtonItemは、 UINavigationItemオブジェクトです。 UINavigationItem styleプロパティはありませんので、これが警告の理由です。 プログラムでbarButtonsを設定する必要があります:

iOS 4:

UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect];
 [bt setFrame:YourFrame];
 //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal];
 [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside];
 UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt];
 self.navigationItem.leftBarButtonItem=leftButton;

iOS 5+の場合:

UIBarButtonItemリファレンスの 「外観のカスタマイズ」を参照してください

私は丸い矩形ボタンを右のボタンボタン項目の位置にドラッグし、画像を丸い矩形ボタンに設定します。 すべての操作はうまくいきますが、「ナビゲーション項目でサポートされていないプレーンスタイル」という警告は除きます。 Bar Button Itemのスタイルを「Bordered」にしても、そこにはまだ警告があります。 Xcode 4.2の問題点は何ですか? 前もって感謝します!

Ps。 Round Rect Buttonで多くのバーボタンアイテムをカスタマイズしましたが、Xcode 4.2ではバーボタンアイテムに1つの警告しか表示されず、すべてのバーボタンアイテムに警告が表示されることがあります。


ストーリーボードのすべてのバーボタンが平らなものに設定されていることを確認したら、git commitを実行し、派生データを削除してください。 私は永遠に、なぜ問題がそれ自体を修正していないのか把握しようとしていました。派生したデータフォルダーを削除すると、私のために修正されました。


ナビゲーションバーで、Round rectボタンの代わりにUIBarButtonItemを使用して、Imageを設定します。


私の場合、それは「平地」に設定された後ろの矢のイメージでした。

ナビゲーションバーのすべての項目を参照するエラーメッセージが表示されます。


警告をクリックして問題のナビゲーション項目に移動しない場合は、次の操作を行います。 (コメントからのより安全な方法でのハンターの答えの視覚的表現)

ファイルブラウザでストーリーボードを右クリックし、[ Open As Source Code ]を選択します。

ソースコードページで "plain"を検索し、ナビゲーションアイテムに添付されているものを探します。

ビューの名前を取得するには、検索バーに「シーン」を置き、後方の検索矢印をクリックして、そのタグの最初のインスタンスをnavigationItem に検索します

ここであなたのシーンの名前ですが、上記の右クリック方法でStoryboardビューをInterface Builder - Storyboard戻してから、シーンメニューでシーンを選択し、その中のBar Itemを選択できます。

Attributesインスペクターに移動し、スタイルをPlainからBordered変更します


ストーリーボードファイルを手動で編集し、 <navigationItem>要素のBar Buttonアイテムに問題のスタイル= "プレーン"エントリを見つけることで、これらのエラーを取り除くことができました。

から変更:

<barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i">

に:

<barButtonItem key="rightBarButtonItem" id="juB-DL-F9i">

これにより、正しいか間違って警告がクリアされました。

これはすばらしいハックかもしれませんし、大きな懸念は、私がそれを引き起こしたり、文書全体から目に見えないバーボタン項目を削除したりしなかったことです。 これはすべての要素を1つずつ処理した後、ナビゲーションバーが空で(子供がいない)、重複コピー(cmd + d |)を使わずに大量のコピー&ペースト(cmd + c | v)インタフェースを構築する。 元の原因は根本原因ではありませんが、バーアウト項目は文書「アウトラインビュー」に表示されず、修正されました。 Interface Builderビヘイビアは時々微妙な印象を与え、アウトラインビューに何かがあるはずの空のコンテナは臭いです。 それは今私にとってです。 問題のノードを削除して再構築すると、最も奇妙な問題が修正されることがあります。

WARNING:これを試す前にストーリーボードをバックアップしてください...バージョンコントロールはあなたの友人です...あなたのストーリーボードが完全にホースされコンパイルされていない場合、私は責任を負いません。 あなたが得るのは、 "私はあなたにそう言った!" 私はいくつかの困難な方法を学んだが、勤勉なソースコントロールは私に頭痛を救った。

編集:コードブロックで角かっこを入れる