質問

UinavigationControllerに2つの問題があります。

問題1

最初のビューで、私はプログラムでrightbarbuttonitemを追加しました。

NavigationViewを右に押すと、すべてが正しく機能し、前のビューのタイトルが付いたバックボタンが表示されます。

戻るボタンをクリックすると、戻ります。しかし、このボタンはなくなりました。しかし、それは本当になくなっていません、それはまだクリックすることができるので、それはただ目に見えません。

問題2

右側にViewControllerを押すと、タイトルを設定できません。ビューを押す前に試してみました

myViewController.title = @"someTitle";

そして、私はそれをviewcontrollerの内部でも試しました

self.title = @"someTitle";

しかし、ここでは何も機能しません。

役に立ちましたか?

解決

私は問題を見つけました:

NavigationBarにカスタム背景画像を追加していました。どういうわけか、この画像はタイトル /ボタンを乗り越えました。

したがって、カスタム背景画像を実装したい場合は、 これを使用しないでください:

UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
[backgroundImage setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"headerBg" ofType:@"png"]]];
[navigationController.navigationBar insertSubview:backgroundImage atIndex:0];
[backgroundImage release];

しかし、代わりに、これを使用してください。

@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"headerBg.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

他のヒント

問題1:奇妙に聞こえます。本当にその答えがありません: - /

問題2:タイトルを設定しようとしたメソッドボディ全体のように、これについてさらにコードスニペットを提供できますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top