ios - 无法删除 subview Controller

标签 ios objective-c

我正在尝试在函数 didSelectRowAtIndexPath 中添加 subview Controller .但我无法删除我添加的这个 subview Controller 。这是我尝试过的:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath
  {

    MiddleViewController *middleVC =[self.storyboard instantiateViewControllerWithIdentifier:@"MiddleViewController"];



  if(isMenuExpanded==NO){

    isMenuExpanded=YES;
   middleVC.view.hidden=FALSE;
[middleVC.view setFrame:CGRectMake(-320, 0, self.view.frame.size.width, self.view.frame.size.height)];



[self addChildViewController:middleVC];
[self.view addSubview:middleVC.view];
[middleVC didMoveToParentViewController:self];

  [UIView animateWithDuration:0.3 animations:^{
    [middleVC.view setFrame:CGRectMake(38, 0, self.view.frame.size.width, self.view.frame.size.height)];


   }];

}else{
    isMenuExpanded=NO;


    //here i am trying to remove the child view controller
     middleVC.view.hidden=TRUE;
    [middleVC willMoveToParentViewController:nil];
    [middleVC.view removeFromSuperview];
    [middleVC removeFromParentViewController];



     }
  }

我还尝试隐藏 View Controller 。

最佳答案

请找变化,你也可以这样走

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath
{

    MiddleViewController *middleVC =[self.storyboard instantiateViewControllerWithIdentifier:@"MiddleViewController"];

   if(isMenuExpanded==NO)
{

    isMenuExpanded=YES;
    middleVC.view.hidden=FALSE;
    [middleVC.view setFrame:CGRectMake(-320, 0, self.view.frame.size.width, self.view.frame.size.height)];


    **middleVC.view.tag=8010;**
    [self addChildViewController:middleVC];
    [self.view addSubview:middleVC.view];
    [middleVC didMoveToParentViewController:self];

    [UIView animateWithDuration:0.3 animations:^{
        [middleVC.view setFrame:CGRectMake(38, 0, self.view.frame.size.width, self.view.frame.size.height)];


    }];

}
else
{
    isMenuExpanded=NO;

    **for(UIView *view in [self.view subviews])
    {
        if(view.tag == 8010)
           [view removeFromSuperview];
    }**
}

关于ios - 无法删除 subview Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442661/

相关文章:

iphone - MFMessageComposeViewController 继续之前的对话

ios - 如何在整个 View 中显示 iad 或 admob

ios - 工具栏应该位于 View 上方

c++ - 在 Objective-C++ 中使用 C++ 类

iphone - 如何使用 UIBezierPath 裁剪图像?

c++ - 在 Obj-C 项目中嵌入 Prolog 引擎

objective-c - 刷新核心数据关系

ios - 自定义 objective-c 类的新实例中已经有数据了吗?

ios - 如何在 UIScrollView 中实现缩放图像?

ios - SwiftUI 如何更改 keyUp macOS 事件的状态?