0

ユーザーが何かについて通知する必要がある場合、私のアプリはドロップダウン通知を表示します。私が直面している問題は、ドロップダウン通知を表示し、その背後に広告がある場合、通知のタッチを傍受することです。通知がまだ表示されている場合は、ブール値 currentlyDisplayed があります。currentlyDisplayed == YES の場合、広告のタッチをインターセプトし、モーダルに表示したくありません。どうすればこれを行うことができますか?ありがとう!

カムラン・ピルワニ

Notification code 

+(void)onTap:(UITapGestureRecognizer *)tapGestureRecognizer {
    CGPoint point = [tapGestureRecognizer locationInView:tapGestureRecognizer.view];

    BOOL dismissTapped = [notificationView.closeNotification.layer.presentationLayer hitTest:point] != nil;
    BOOL labelTapped = [notificationView.layer.presentationLayer hitTest:point] != nil;
    if (dismissTapped) {
        [UIView animateWithDuration:1.0f delay:0.0f options:UIViewAnimationOptionBeginFromCurrentState animations:^{
            notificationView.alpha = 0.0f;
             //notificationView.frame = CGRectMake(currentFrame.origin.x, -currentFrame.size.height, currentFrame.size.width, currentFrame.size.height);
        }completion:nil];
    }else if(labelTapped) {
        [UIView animateWithDuration:0.7f animations:^{
            notificationView.alpha = 0.0f;
        }completion:^(BOOL finished){
            [tapGestureRecognizer.view removeGestureRecognizer:tapGestureRecognizer];
            [[NSNotificationCenter defaultCenter] postNotification:[NSNotification notificationWithName:@"announcementTapped" object:nil]];
        }];
    }
}
4

1 に答える 1

0

よりシンプルなアプローチを選択してadView.hidden = YES、通知がいつ表示されるかを設定してみませんか? 通知が閉じられようとしているときに設定をhidden戻すだけNOで問題ありません。

于 2013-01-02T17:01:50.443 に答える