我想在应用的游戏过程中显示应用内横幅广告通知,而不是我当前的UIAlertView
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if (application.applicationState == UIApplicationStateActive )
{
// Show Alert ->
// UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Did receive a Remote Notification", nil)
// message:[apsInfo objectForKey:@"alert"]
// delegate:self
// cancelButtonTitle:NSLocalizedString(@"OK", nil)
// otherButtonTitles:nil];
// [alertView show];
// [alertView release];
// Show Banner Notification
}
}
以下是我想要实现的一个例子:
如何在我应用的游戏过程中实施应用内横幅广告通知?
答案 0 :(得分:2)
#define BANNER_HEIGHT 66.0
if (!showingNotification) {
showingNotification = YES;
// retrieve message from your actual notification here
NSString *message = @"Showing notification";
UIToolbar *newmessageBannerView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, -BANNER_HEIGHT, self.view.frame.size.width, BANNER_HEIGHT)];
newmessageBannerView.translucent = YES;
newmessageBannerView.barStyle = UIBarStyleBlack;
newmessageBannerView.backgroundColor = [UIColor blackColor];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 33.0, 16.0, 16.0)];
imageView.image = [UIImage imageNamed:@"icon_72"];
[newmessageBannerView addSubview:imageView];
[self.view addSubview:newmessageBannerView];
UILabel *bannerLabel = [[UILabel alloc] initWithFrame:CGRectMake(40.0, 30.0, 320.0, 22.0)];
bannerLabel.textAlignment = NSTextAlignmentLeft;
bannerLabel.textColor = [UIColor whiteColor];
bannerLabel.font = [UIFont systemFontOfSize:17.0];
bannerLabel.text = message;
bannerLabel.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
bannerLabel.adjustsFontSizeToFitWidth = YES;
[newmessageBannerView addSubview:bannerLabel];
[UIView animateWithDuration:0.25 delay:0.1 options:UIViewAnimationOptionCurveLinear
animations:^{
newmessageBannerView.frame = CGRectMake(0, 0, self.view.frame.size.width, BANNER_HEIGHT);
}
completion:^(BOOL finished) {
[UIView animateWithDuration:0.25 delay:2.0 options:UIViewAnimationOptionCurveLinear
animations:^{
newmessageBannerView.frame = CGRectMake(0, -BANNER_HEIGHT, self.view.frame.size.width, BANNER_HEIGHT);
}completion:^(BOOL finished) {
[newmessageBannerView removeFromSuperview];
showingNotification = NO;
}];
}];
}
}
我尝试测试iOS 6.0,7.04,7.1。