UISwipeGesture不使用子视图

时间:2014-06-05 23:22:27

标签: ios cocoa-touch ios7

我有一个名为sineWave的UIView呈现动画正弦波。我通过[self.view addSubview:self.sineWave];添加sineWave作为子视图。我有另一个名为panedView的UIView,它是最高/顶视图/图层。当panedView被拖动时,会显示sineWave视图。我通过[self.view insertSubview:panedView aboveSubview:self.sineWave];在sineWave视图上面添加了panedView。当我全力以赴时,一切都很完美。但是,由于添加sineWave视图,我有一个问题是向上滑动。当我向上滑动时,我可以看到滑动方法被调用,但我的视图并没有向上移动到应有的位置。但是,如果我在第一次滑动后立即再次滑动,我的视图将移动到其编程的位置 - 显示正弦波。知道为什么会这样吗?

- (IBAction)handleUpSwipe:(UISwipeGestureRecognizer *)recognizer
{

    NSLog(@"Swipe UP");

    [UIView animateWithDuration:.1 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
    panedView.frame = CGRectOffset(panedView.frame, 0, -1*self.view.bounds.size.height*.80);
} completion:nil];

    [self displaySine];

}

-(void) displaySine
{
    if(sineIsDisplaying == NO)
    {

    self.sineWave = [[OSDrawWave alloc] initWithFrame:CGRectMake(-1*self.view.bounds.size.width, (.75*self.view.bounds.size.height), 2*self.view.bounds.size.width, .3125*(2*self.view.bounds.size.width))];

    [self.sineWave setBackgroundColor:[UIColor clearColor]];
    [self.sineWave animateWave];
    [self.view addSubview:self.sineWave];
    [self.view insertSubview:panedView aboveSubview:self.sineWave];
    sineIsDisplaying = YES;
    }
 }

0 个答案:

没有答案