Iphone Sdk:是否可以使用 UISwitch 来启用和禁用 PNS(推送通知服务)?

发布于 2024-09-26 11:36:37 字数 1087 浏览 4 评论 0原文

我找到了一些关于 PNS 的示例代码,文章

,我还创建了启用 PNS 的 UISwitch

如何提供控制 PNS 的方法?

这就是我

cell.textLabel.text = @"PNS";
  [cell.textLabel setTextColor:[UIColor grayColor]];
  pushNotificationSwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
  [cell addSubview:pushNotificationSwitch];
  cell.accessoryView = pushNotificationSwitch;
  [(UISwitch *)cell.accessoryView addTarget:self action:@selector(pushNotification:) forControlEvents:UIControlEventValueChanged];
 }


- (void)pushNotification:(id)sender{
 if (pushNotificationSwitch.on==YES) {
  UITableViewCell *cell = (UITableViewCell*)pushNotificationSwitch.superview;
  [cell.textLabel setTextColor:[UIColor blackColor]];
 }
 else {
  UITableViewCell *cell = (UITableViewCell*)pushNotificationSwitch.superview;
  [cell.textLabel setTextColor:[UIColor grayColor]];
 }
} 

现在声明单元格的方式,我只是使用单元格的文本标签颜色更改来表示开关调用方法

所以...我可以用它来控制 PNS 启用还是不启用???

感谢您的任何评论和回答!

I find some sample code about PNS,article here

and I also create an UISwitch to enable PNS

how to give a method to control the PNS ?

This is how I declare cell

cell.textLabel.text = @"PNS";
  [cell.textLabel setTextColor:[UIColor grayColor]];
  pushNotificationSwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
  [cell addSubview:pushNotificationSwitch];
  cell.accessoryView = pushNotificationSwitch;
  [(UISwitch *)cell.accessoryView addTarget:self action:@selector(pushNotification:) forControlEvents:UIControlEventValueChanged];
 }


- (void)pushNotification:(id)sender{
 if (pushNotificationSwitch.on==YES) {
  UITableViewCell *cell = (UITableViewCell*)pushNotificationSwitch.superview;
  [cell.textLabel setTextColor:[UIColor blackColor]];
 }
 else {
  UITableViewCell *cell = (UITableViewCell*)pushNotificationSwitch.superview;
  [cell.textLabel setTextColor:[UIColor grayColor]];
 }
} 

now I'm just use a cell's text label color change to representation the switch is call the method

SO... can I use it to control PNS enable or not ???

Thanks for any comments and answers !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感悟人生的甜 2024-10-03 11:36:37

为了使以下所有功能发挥作用,您应该作为通知提供商向 Apple 注册推送通知服务。

根据用户对Switch控件输入的选择,可以调用

取消注册远程通知

注册远程通知类型

如果用户想从通知中取消注册,可以通过调用 unregisterForRemoteNotifications 方法。

再次,如果您想注册通知,可以在 Application 对象上使用 registerForRemoteNotificationTypes 方法。

如需了解更多信息,您可以参考此链接

更新:

您可以这样称呼它:

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

[[UIApplication sharedApplication] unregisterForRemoteNotifications];

您可以使用我提到的链接来获取更多信息。

For all the following to work, you should have registered with Apple for Push notification services as a Notification provider.

According to user's choice of input from Switch control, you can call

unregisterForRemoteNotifications

or

registerForRemoteNotificationTypes

.

If user wants to unregister from Notification, this is possible by invoking unregisterForRemoteNotifications method.

Once again if you wanted to register for the notification, you can use registerForRemoteNotificationTypes method on your Application object.

For more info you can refer this link.

UPDATE:

You can call it this way:

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

[[UIApplication sharedApplication] unregisterForRemoteNotifications];

You can use the links I have referred for more info.

指尖上的星空 2024-10-03 11:36:37

您可以使用 registerForRemoteNotificationTypes: 激活应用的 PNS,或使用 unregisterForRemoteNotifications 停用它。
请参阅 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/registerForRemoteNotificationTypes:欲了解更多信息:

You can activate the PNS for your app with registerForRemoteNotificationTypes: or deactivate it with unregisterForRemoteNotifications.
See http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/registerForRemoteNotificationTypes: for more information:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文