2

右側に3つのボタンがあるナビゲーションバーがあります(ナビゲーション用の矢印+共有ボタン)。Iphoneシミュレーターで私はそれらをよく見ることができ、それらは完璧に機能しています。実際のiPhone4デバイスにアプリをインストールすると、ボタンがまったく表示されません!!! (私のシミュレーターはiPhone 3です)。私のコードは次のとおりです。

UIToolbar *tools = [[UIToolbar alloc]
                    initWithFrame:CGRectMake(0, 0, 70.0f,     44.01f)]; // 44.01 shifts it up 1px for some reason
tools.clearsContextBeforeDrawing = NO;
tools.clipsToBounds = NO;
tools.tintColor = [UIColor colorWithWhite:0.305f alpha:0.0f]; // closest I could get by eye to black, translucent style.
// anyone know how to get it perfect?
tools.barStyle = -1; // clear background


NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:3];

// Create a standard refresh button.
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"share.png"] style:UIBarButtonItemStylePlain target:self action:@selector(shareClicked)];
//initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)];
[buttons addObject:bi];
[bi release];

// Create a spacer.
bi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"scroll left.png"] style:UIBarButtonItemStylePlain target:self action:@selector(upClicked)];
//bi.width = 12.0f;
[buttons addObject:bi];
[bi release];

// Add profile button.
bi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"scroll right.png"] style:UIBarButtonItemStylePlain target:self action:@selector(downClicked)];
//bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

// Add buttons to toolbar and toolbar to nav bar.
[tools setItems:buttons animated:NO];
[buttons release];
UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];
self.navigationItem.rightBarButtonItem = twoButtons;
[twoButtons release];
4

3 に答える 3

6

同様の問題がありました。

私の場合、.pngファイルはプロジェクトとプロジェクトの作業ディレクトリから何らかの理由で消去されました。その結果、それはコピーバンドルリソースに含まれなくなりました。

奇妙なことに、しかし、明らかにそれはまだシミュレーター上にありました。私の場合、それはまだデバッグデバイス上にありました。しかし、アドホック配布用のボールドを構築するとき、それはありませんでした。その結果、フルボタン(ナビゲーションバーのバーボタンアイテム)は表示されませんでした。ユーザーは、それに関連付けられたアクションを呼び出すことができませんでした。

まず、シミュレーターからアプリを消去しました。シミュレーターのGUIとファイルシステム/Users// Library / Application Support / iPhone Simulator / 5.0 / Applications /(app id)/ ...の両方を消去して、両方を試しました。どちらの場合も、シミュレーターでアプリを実行すると、未使用の.pngファイルと、xcodeプロジェクトから意図的に削除された他の多くのファイルが再インストールされました。

ただし、最終的な解決策は、pngファイルをxcodeプロジェクトに再度含め、関連するすべてのターゲットに割り当てることでした。私の場合、とにかくグラフィックを変更しようとしていたので、古いファイルの代わりに新しいファイルを含めました。しかし、私はこの詳細はそれほど重要ではないと確信しています。

短いバージョン:1。pngファイルがまだプロジェクトの一部である場合は、それを削除します。保存するために、プロジェクトフォルダからistも削除します。2.pngファイルをプロジェクトに再度インクルードします。3.ビルドを作成し、空のデバイスで試してください。

于 2012-01-21T16:43:32.323 に答える
1

また、XCode Simulatorがカスタムナビゲーションの右バーボタンを表示したが、デバイスは表示しなかったというこの問題に遭遇しました。エラーは、カスタムボタンの弱いプロパティIBOutletでした。IBOutlet@propertyを確認してください。私の場合、修正は単にIBOutletを次のように変更することでした。@ property(nonatomic、retain)IBOutlet UIButton * customBtn;

于 2015-07-29T15:32:52.247 に答える
0

私の場合、カスタム画像への参照をどういうわけか削除しました。画像のリストから名前を再度選択すると、問題が修正されました。

ここに画像の説明を入力してください

于 2016-06-06T10:13:05.170 に答える