大家都知道,在iOS中,每个vc只能同时展示一个AlertController。
即如果不消掉正在展示的AlertController,是无法展示下一个AlertController的。
在不破坏这个原则的前提下,我们可以使用(NS)OperationQueue,来实现 弹框的串行展示。
首先是DelayedOperation,它对Operation做了一个简单的Hack,支持延迟结束Operation,结束时候调用下finisheOperation即可。
import Fo[......]
大家都知道,在iOS中,每个vc只能同时展示一个AlertController。
即如果不消掉正在展示的AlertController,是无法展示下一个AlertController的。
在不破坏这个原则的前提下,我们可以使用(NS)OperationQueue,来实现 弹框的串行展示。
首先是DelayedOperation,它对Operation做了一个简单的Hack,支持延迟结束Operation,结束时候调用下finisheOperation即可。
import Fo[......]
https://nickharris.wordpress.com/2016/02/10/uialertcontroller-nsoperation/[......]
UNMutableNotificationContent *content = [[UNMutableNotificationContent alloc] init];
content.body = body;
content.userInfo = userInfo;
content.sound = [UNNotificationSound defaultSound];
[content setValue:@(YES) forKeyPath:@"shouldAlwaysAlertWhil[......]
传统做法是在viewcontroller上设置navigationController的interactivePopGesturerecovnezer,但是bug很多,推荐如下,在nav controller上的做法:
class C4MVTNavigationController: UINavigationController {
// MARK: - Property
override var supportedInterfaceOrientations: UIIn[......]
传送门:http://stackoverflow.com/questions/6325457/getting-the-frame-of-a-particular-tab-bar-item
我稍微改了一下:
- (CGRect)frameForTabInTabBarWithIndex:(NSUInteger)index
{
NSMutableArray *tabBarItems = [NSMutableArray arrayWithCapacity:[self.tabBar.i[......]