在`touchesBegan:withEvent`中添加子视图在绘制之前有延迟

时间:2015-04-14 11:56:44

标签: ios uiview

这是容器视图:

@implementation

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.tapView removeFromSuperview];
    self.tapView = nil;
    self.tapView = [[UIView alloc] initWithFrame:CGRectInset(self.bounds, 10.0f, 10.0f)];
    self.tapView.backgroundColor = [UIColor redColor];
    [self addSubview:self.tapView]; // Takes too much time before view shows up on screen
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.tapView removeFromSuperview];
    self.tapView = nil;
}

@end

我希望了解为什么在将tapView添加为子视图和在屏幕上绘制之间存在延迟。它只有几毫秒但很明显。

我希望实现的性能的最佳示例是在点击本机键盘时。点击一个键会立即显示一个新视图(或者是?)。

1 个答案:

答案 0 :(得分:0)

想出来! 容器视图位于滚动视图内,启用了“延迟内容触摸”。