【问题标题】:UIButton not Working when the UIview is presented by addsubView当 UIview 由 addsubView 呈现时,UIButton 不起作用
【发布时间】:2013-09-11 11:30:30
【问题描述】:

我在 viewcontroller 视图中添加了另一个视图控制器,

addsubview 工作正常,但下一个视图中的按钮操作不起作用。

崩溃并出现错误 [ModelViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0xa81d960

在 View1 中:当前视图控制器 UsersViewController 类

-(IBAction)openModelView:(id)sender
{
   ModelViewController *modelView= [self.storyboard instantiateViewControllerWithIdentifier:@"ModelViewController"];

    [self.view addSubview:modelView.view];
}

在 View 2 ModelViewController 类中

-(IBAction)dismissModelView:(id)sender
{
    NSLog(@"ddddddde");
    //[self.view removeFromSuperview];
    [self.view removeFromSuperview];
}

使用 presentViewConroller 效果很好[self presentViewController:modelView animated:NO completion:nil] *效果很好*,

但是我需要在背景中显示第一个视图并带有一些部分透明

【问题讨论】:

  • 可能是范围问题?只需添加子控制器 [self addChildViewController:self.yourVC];
  • 是的,它的工作原理非常感谢

标签: iphone objective-c uiviewcontroller presentmodalviewcontroller addsubview


【解决方案1】:

这是范围问题,只需将子控制器添加到根视图控制器即可避免崩溃。

    self.view addSubview:modelView.view];
    [self addChildViewController:modelView];

【讨论】:

    【解决方案2】:
    -(IBAction)openModelView:(id)sender
    {
       ModelViewController *modelView= [self.storyboard instantiateViewControllerWithIdentifier:@"ModelViewController"];
    
        [self.view addSubview:modelView.view];
        [self addChildViewController:modelView];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-21
      • 2020-12-07
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      相关资源
      最近更新 更多