在iOS上拦截广告触摸(Adwhirl)
我的应用程序将显示一个下拉通知,当用户需要得到有关某件事情的通知时。我面临的问题是,如果我显示一个下拉通知,并且在它后面有一个广告,它会拦截对通知的触摸。我有一个布尔值currentlyDisplayed,它在通知仍在显示时为YES。如果currentlyDisplayed==是,我想截取广告上的触摸,而不是以模式显示。我该怎么做呢?谢谢 真诚地, 卡姆兰·皮尔瓦尼在iOS上拦截广告触摸(Adwhirl),ios,cocoa-touch,adwhirl,Ios,Cocoa Touch,Adwhirl,我的应用程序将显示一个下拉通知,当用户需要得到有关某件事情的通知时。我面临的问题是,如果我显示一个下拉通知,并且在它后面有一个广告,它会拦截对通知的触摸。我有一个布尔值currentlyDisplayed,它在通知仍在显示时为YES。如果currentlyDisplayed==是,我想截取广告上的触摸,而不是以模式显示。我该怎么做呢?谢谢 真诚地, 卡姆兰·皮尔瓦尼 Notification code +(void)onTap:(UITapGestureRecognizer *)tapGes
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]];
}];
}
}
为什么不选择一种更简单的方法,并在出现通知时设置您的
adView.hidden=YES
?当通知即将解除时,只需将hidden
设置回NO
,您就可以了