使读者应用程序全屏?

时间:2012-08-14 09:34:36

标签: iphone ios xcode cocoa-touch ipad

你好我有一个带有视图控制器的应用程序,我在其中显示一些文本 - 它还有一个工具栏和一个导航栏。

我希望当我按下按钮隐藏导航栏和工具栏以及状态栏并使文本视图全屏显示时,如果用户点击视图,则显示导航栏和工具栏。

那我该怎么做?我尝试过使用视图的frame属性,但没有成功。

这里编辑是我的代码。我的问题只有1 - 状态栏没有填写 - 这只是一个黑色的东西。

- (IBAction)goFullScreen:(id)sender {
    self.isFullScreenOn = !self.isFullScreenOn;
    if (self.isFullScreenOn) {
        self.navigationController.navigationBarHidden = NO;
        self.toolbar.hidden = NO;
        [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
        self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    }else{
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
        self.navigationController.navigationBarHidden = YES;
        self.toolbar.hidden = YES;
        self.view.frame = CGRectMake(0, -60, self.view.frame.size.width, self.view.frame.size.height + 60);
    }
}

5 个答案:

答案 0 :(得分:2)

试试这个

[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationFade]; 

[self.navigationController setNavigationBarHidden:YES animated:YES];

答案 1 :(得分:1)

隐藏导航栏: -

            self.navigationController.navigationBarHidden = YES ;

隐藏状态栏: -

            [[UIApplication sharedApplication] setStatusBarHidden:YES];

设置工具栏的hidden属性

答案 2 :(得分:1)

最初让酒吧不被隐藏

self.currentView.toolBar.hidden=NO;

现在,只需在屏幕上单击即可显示和消失,在viewcontroller中添加一个tapgesture识别器

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
    tapGesture.numberOfTapsRequired=1;
    [self.currentView addGestureRecognizer:tapGesture];
    [tapGesture release];

现在将handleTapGesture函数定义为

-(void) handleTapGesture:(UITapGestureRecognizer *)sender {

     if(self.currentView.toolBar.alpha==1.0 ){

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.8];
    self.currentView.toolBar.alpha = 0.0;
    //similarly add other properties to be hidden like label,button etc
    [UIView commitAnimations]; 
}
else{

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.8];
    self.currentView.toolBar.alpha = 1.0;
    [UIView commitAnimations]; 
}

}

答案 3 :(得分:0)

将导航栏和工具栏的hidden属性设置为YES

答案 4 :(得分:0)

您可以使用presentModalViewController显示新的Viewcontroller。 你可以简单地再解雇它,而不必再做任何重新启动。