Controller的touchesBegan:withEvent:直到视图的backgroundColor被设置才触发

时间:2014-12-23 12:39:51

标签: ios cocoa-touch events uiviewcontroller

今天当我尝试构建一个演示应用时,我发现了这些奇怪的事情,基本上我希望我的控制器在触摸屏幕时做一些事情,所以我写的如下:

-(void)viewDidLoad {
      [super viewDidLoad];
      self.view.userInteractionEnabled = YES;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //... do something here, but never called.
}

从未调用touchesBegan方法。但是在我设置self.view.backgroundColor属性之后,该方法被按预期调用。

-(void)viewDidLoad {
      [super viewDidLoad];
      self.view.userInteractionEnabled = YES;
      self.view.backgroundColor = [UIColor whiteColor];
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //... called as expected
}

如果没有任何东西需要渲染,UIView是否永远不会发送任何事件?我在这里遗漏了什么?任何解释都是预测的。

0 个答案:

没有答案