0

我正在开发一个使用推送通知的应用程序。

在方法 -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

我打电话 -

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
   (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)];

注册推送通知。一切正常。但它也安装了我想展示alert view一个UITextField比需要“成为FirstResponder”的东西。

问题是键盘与 enablePushNotofication alertview 的按钮重叠,用户无法关闭它。

在此处输入图像描述

无论如何,当 enablePushNotofication 警报视图被解除时,是否有一个方法被调用?(所以我可以显示我的警报视图)

谢谢

4

1 回答 1

1

每次启动应用程序时都应调用注册远程通知的代码。如果用户的令牌发生变化,您可以在服务器上更新它。

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
 (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)];

考虑到这一点,由于每次应用程序启动时都会调用它,因此您将知道它是成功还是失败。将您的文本字段的代码放置在已注册通知后成为第一响应者。

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
于 2012-05-19T10:00:23.213 回答