3

私は を持っていてViewController、ViewController ボタンを押したときにいくつかのボタンでNavigationController半透明を追加したいのですが、問題は を の上に置くことができないことです。どうすればこれを解決できますか?UIViewViewControllerUIViewNavigationBar

これは私のコードです(非常に単純です)

-(void)setOpacityView
{
    opacityVw = [[UIView alloc] initWithFrame:self.view.bounds];
    opacityVw.backgroundColor = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];


    WPCustomButton *closeBtn = [[WPCustomButton alloc] initWithFrame:CGRectMake(230, 10, 80, 20)];
    [closeBtn setTitle:@"Close X" forState:UIControlStateNormal];
    [closeBtn setBackgroundColor:[UIColor clearColor]];
    [closeBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [closeBtn addTarget:self action:@selector(closeView) forControlEvents:UIControlEventTouchUpInside];
    [opacityVw addSubview:closeBtn];
}

// ---------------------------------------------------------------------------------------------------------------------

#pragma mark - Button methods

-(void) closeView
{
    [opacityVw removeFromSuperview];
}


-(void)setProfileImage
{
    [self setOpacityView];

    [self.view addSubview:opacityVw];
}
4

4 に答える 4

4

ここで同様の質問に答えました

次のようなことを試してください:

-(void)setProfileImage
{
    [self setOpacityView];
    [self.navigationController.view addSubview:opacityVw];
}
于 2013-10-31T16:55:34.720 に答える
0

シンプルにするだけです:

-(void)setProfileImage
{
    [self setOpacityView];
    self.navigationController.navigationBarHidden = YES;
    [self.view insertSubview:opacityVw aboveSubview:self.view];
}

-(void) closeView
{
    [opacityVw removeFromSuperview];
    self.navigationController.navigationBarHidden = NO;
}
于 2013-10-31T16:46:16.407 に答える
0

MainViewController を作成し、それを window.rootViewController として配置できます。この MainViewController に navigationController を追加します。その後、ビューを mainViewController に追加すると、ナビゲーション コントローラーの上になります。

于 2013-10-31T16:58:48.987 に答える