iPhone uinavigationControllerの問題(目に見えないボタン、タイトル)
-
29-09-2019 - |
質問
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:タイトルを設定しようとしたメソッドボディ全体のように、これについてさらにコードスニペットを提供できますか?
所属していません StackOverflow