我的UIAlertController
中有一个AppDelegate
,并在收到通知时将其显示在rootViewController
。但是当警报视图弹出时,它很快就会自动解散,而不是等待" Ok"按钮...这是AppDelegate.m
中的代码。任何的想法?谢谢!
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
[self showNotification:"Success message here"];
}
- (void)showNotification:(NSString *)text {
UIAlertController* avc = [UIAlertController alertControllerWithTitle:@"Success" message:text
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleCancel handler:nil];
[avc addAction:ok];
[self.window.rootViewController presentViewController:avc animated:true completion:nil];
}
编辑:我有另一个视图控制器;称之为X. X' viewDidLoad
函数有一个计时器在X解除自身之前倒计时并呈现另一个视图控制器。我注意到这里有一个有趣的计时问题:当通知进展缓慢以至于在X计时器启动后出现UIAlertController
并且已经呈现了另一个视图控制器时,alertController不会解除自身。如果相反的情况发生 - 通知很快就会使得UIAlertController
出现在X解除自身之前,那么当计时器启动时整个AlertController将被刷新(这是有意义的,我猜......)。我怎样才能防止这种情况发生?
答案 0 :(得分:0)
您可以使用执行选择器方法,如下所示:
@foreach($posts as $post)
@if($post->like != null)
<div class = "like">
@foreach($post->like)
// render the view here...
@endforeach
</div>
@endif
@if($post->dislike != null)
<div class = "dislikes">
@foreach($post->dislike)
// render the view here...
@endforeach
</div>
@endif
@endforeach