YBIBUtilities.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // YBIBUtilities.h
  3. // YBImageBrowserDemo
  4. //
  5. // Created by 杨少 on 2018/4/11.
  6. // Copyright © 2018年 波儿菜. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. #define YBIB_DISPATCH_ASYNC(queue, block)\
  11. if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(queue)) == 0) {\
  12. block();\
  13. } else {\
  14. dispatch_async(queue, block);\
  15. }
  16. #define YBIB_DISPATCH_ASYNC_MAIN(block) YBIB_DISPATCH_ASYNC(dispatch_get_main_queue(), block)
  17. #define YBIB_CODE_EXEC_TIME(KEY, ...) \
  18. CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent(); \
  19. __VA_ARGS__ \
  20. CFAbsoluteTime linkTime = (CFAbsoluteTimeGetCurrent() - startTime); \
  21. NSLog(@"%@ Time-Consuming: %fms", KEY, linkTime * 1000.0);
  22. UIWindow * _Nonnull YBIBNormalWindow(void);
  23. UIViewController * _Nullable YBIBTopController(void);
  24. UIViewController * _Nullable YBIBTopControllerByWindow(UIWindow *);
  25. BOOL YBIBLowMemory(void);
  26. BOOL YBIBIsIphoneXSeries(void);
  27. CGFloat YBIBStatusbarHeight(void);
  28. CGFloat YBIBSafeAreaBottomHeight(void);
  29. UIImage *YBIBSnapshotView(UIView *);
  30. /// This is orientation of 'YBImageBrowser' not 'UIDevice'.
  31. UIEdgeInsets YBIBPaddingByBrowserOrientation(UIDeviceOrientation);
  32. @interface YBIBUtilities : NSObject
  33. @end
  34. NS_ASSUME_NONNULL_END