【问题标题】:UIView frame issueUIView 框架问题
【发布时间】:2013-09-13 05:47:00
【问题描述】:

我遇到了一个奇怪的问题。我有两个视图控制器。一个 homeViewController 和一个 settingViewController。

homeViewController 没有导航栏,而 settingViewController 有。

现在的问题是,当我按下 settingViewController 并从中返回时,我的 homeViewController 视图的高度变小了。 (视图高度 - 导航栏高度)

(不想手动调整框架)

// homeViewController
-(void) settingButtonPressed {

    SettingsViewController *svc = [[SettingsViewController alloc] init];
    [self.navigationController pushViewController:svc animated:YES];
}

// settingViewController
-(void) viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];
    self.navigationController.navigationBarHidden = NO;
    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
    self.navigationItem.hidesBackButton = NO;
    [UIApplication sharedApplication].statusBarHidden = YES;

    UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation;

    [self willAnimateRotationToInterfaceOrientation:statusBarOrientation duration:0.0];
}

-(void) viewWillDisappear:(BOOL)animated {

    [super viewWillDisappear:animated];
    self.navigationController.navigationBarHidden = YES;
}

请建议解决方法。

【问题讨论】:

  • 试着把你的代码,很容易解决你的问题。
  • 向我们展示您在 ViewDidLoad 或 ViewWillAppear 中编写的代码:
  • 没有发生与 viewDidLoad 上的导航相关的事情。 viewDidLoad 将被调用一次,它只是调整两个控制器的视图。
  • 把你的homeview viewdidload和viewwill出现方法。

标签: ios view frame


【解决方案1】:

写入 homeVC.m

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    self.navigationController.navigationBarHidden = YES;
}

并且在 settingVC.m

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:(BOOL)animated];   

    self.navigationController.navigationBarHidden = YES;
}

【讨论】:

  • 我也在做同样的事情。问题依然存在。
【解决方案2】:

不要尝试控制导航栏在视图中的可见性,而对于各个视图控制器来说,它会出现和消失,而是尝试在导航控制器的委托中控制它。

【讨论】:

    【解决方案3】:

    尝试设置ViewController 的弹出动作方法

    self.navigationController.navigationBarHidden = YES;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 2014-04-26
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多