gpt4 book ai didi

ios - UIApplication didReceiveRemoteNotification,显示应用内横幅

转载 作者:行者123 更新时间:2023-11-29 10:40:32 25 4
gpt4 key购买 nike

我想在我的应用玩游戏期间显示应用内横幅通知,而不是我当前的 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
}
}

这是我想要实现的一个例子:

http://i.stack.imgur.com/bFnmj.jpg

如何在我的应用玩游戏期间实现应用内横幅通知?

最佳答案

#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。

关于ios - UIApplication didReceiveRemoteNotification,显示应用内横幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24770536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com