ここのようなオーバーレイUINavigationBar
が必要ですUIView
カスタムUIViewをナビゲーションバーとしてボタンバックで使用する以外にこれを行う方法はありますか?
ここのようなオーバーレイUINavigationBar
が必要ですUIView
カスタムUIViewをナビゲーションバーとしてボタンバックで使用する以外にこれを行う方法はありますか?
アプリケーションのベース ビューにサブビューを追加できます。
[[[UIApplication sharedApplication] keyWindow] addSubview:vMyCustomUIView];
viewDidAppear
ビューコントローラーが表示されているときにのみ表示されるようにするには、メソッドとviewDidDisappear
デリゲートメソッドで追加および削除できます。以下は、それらに重なる青いボックスを表示する例です。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
vTestView = [[UIView alloc] initWithFrame:CGRectMake(10.0f,
10.0f,
100.0f,
100.0f)];
vTestView.backgroundColor = [UIColor blueColor];
}
-(void)viewDidAppear:(BOOL)animated
{
[[[UIApplication sharedApplication] keyWindow] addSubview:vMyCustomUIView];
}
-(void)viewDidDisappear:(BOOL)animated
{
[vMyCustomUIView removeFromSuperview];
}
メソッドを使用します。
- (void)bringSubviewToFront:(UIView *)view
したがって、あなたの場合は次のようになります:
[navigationBar addSubview:myRibbon];
[navigationBar bringSubviewToFront:myRibbon];
また、この方法では、これを行う場合を除いて、リボンが完全に表示されないことを忘れないでください:
navigationBar.clipsToBounds = NO;