首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使NSUserNotification超时?

如何使NSUserNotification超时?
EN

Stack Overflow用户
提问于 2014-09-16 21:47:31
回答 2查看 498关注 0票数 0

我正在使用这个方法:

代码语言:javascript
复制
NSUserNotification *notification = [[NSUserNotification alloc] init];
            notification.title = @"Title";
            notification.informativeText = @"body";
            notification.soundName = NSUserNotificationDefaultSoundName;

            [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];

如何让它在3秒后超时?

EN

回答 2

Stack Overflow用户

发布于 2014-09-17 17:40:29

将NSTimer设置为三秒钟后触发,然后使用NSUserNotificationCenterremoveDeliveredNotification删除通知。

例如,为了简洁和清晰,使用NSTimer+blocks

代码语言:javascript
复制
[NSTimer scheduledTimerWithTimeInterval:3.0 block:^
{
    [[NSUserNotificationCenter defaultUserNotificationCenter] removeDeliveredNotification: notification];
} repeats:NO];

请注意,这并不是关于使用NSTimer类别的说明或建议-- API并不是很好:-)

票数 5
EN

Stack Overflow用户

发布于 2014-09-18 20:27:31

我自己解决了这个问题!我使用usleep()等待,然后在3秒后将其删除。希望这能有所帮助

代码语言:javascript
复制
            NSUserNotification *notification = [[NSUserNotification alloc] init];
            notification.title = @"Upload Failed!";
            notification.informativeText = @"Error reading data.";
            notification.soundName = NSUserNotificationDefaultSoundName;
            [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
            usleep(3000000); //waits for 3 seconds
            [[NSUserNotificationCenter defaultUserNotificationCenter] removeDeliveredNotification: notification];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25870550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档