代码之家  ›  专栏  ›  技术社区  ›  Sorin Antohi

从SuperView中删除ModalView控制器后,uiView消失。

  •  0
  • Sorin Antohi  · 技术社区  · 15 年前

    在我的应用程序中,我有一个TabbarController,其中还有一个NavigationController。我的视图控制器之一是TableViewController,在导航栏下,我将uiview作为子视图添加到视图中,如下所示:

    rectangleInfo = [[UIView alloc] initWithFrame:CGRectMake(0,0,[[UIScreen mainScreen] applicationFrame].size.width,26)]; rectangleInfo.autoresizingMask = (UIViewAutoresizingFlexibleWidth); rectangleInfo.backgroundColor = [UIColor darkGrayColor]; [self.view addSubview: rectangleInfo];
    

    当我点击TableView中的一个单元格时,我按下一个uiviewController,如下所示:

    [feedViewController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    

    [[self navigationcontroller]presentmodalview控制器:feedviewcontroller动画:是];

    在我用它从TableViewNavigationController中弹出模态视图几次后,矩形信息uiview消失。

    我像这样弹出我的模式视图:

    [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
    [self setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self dismissModalViewControllerAnimated:YES];
    

    知道为什么在我从超级视图中删除模式视图后,TableViewController的子视图(矩形信息)会被分解吗?

    提前谢谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Matt Long    15 年前

    我很好奇你想用矩形信息视图做什么?根据它的大小,看起来您正在尝试模拟状态栏。为什么?如果需要,可以隐藏状态栏。

    您可以尝试的另一件事是在界面生成器中可视化地创建uiview。实际上,不要将其添加到主视图中,而是在XIB中将其创建为具有适当大小的独立uiview,等等。然后在Xcode中为其创建一个出口并连接它。接下来,当视图控制器加载时,将其作为代码中的子视图添加。看看这是否有影响。这是特别奇怪的,因为你说它只会在弹出几次后消失。如果以非模态方式推动和弹出,是否也会遇到同样的问题,例如:

    [[self navigationController] pushViewController:feedViewController animated:YES];
    [[self navigationController] popViewControllerAnimated:YES];
    
        2
  •  0
  •   Sorin Antohi    15 年前

    我通过正确实现用于创建和释放子视图的viewdidload和viewdidunload方法解决了这个问题。