SuspenionWindow.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. //
  2. // SuspenionWindow.h
  3. // BuguLive
  4. //
  5. // Created by 岳克奎 on 16/9/24.
  6. // Copyright © 2016年 xfg. All rights reserved.
  7. //
  8. #import "SusBaseWindow.h"
  9. @class AVRoomAble;
  10. @class IMHostAble;
  11. @interface SuspenionWindow : SusBaseWindow
  12. #pragma mark - 悬浮直播加载/处理 说明
  13. #pragma mark - 开启一个小window
  14. /**
  15. * @brief: 开启新的悬浮直播widnow
  16. */
  17. + (void)initSmallSusWindow:(BOOL)isSmallScreen WithItem:(id)item withRoomHost:(id)host withVagueImgeUrlStr:(NSString *)urlStr withModelRoomIdStr:(NSString *)roomIdStr;//模糊背景图片url
  18. /**
  19. * @brief: 悬浮window 大/小 控制
  20. *
  21. */
  22. - (void)setSmallLiveScreen:(BOOL)isSmallView vc:(UIViewController *)liveVC block:(void(^)(BOOL finished))block;
  23. #pragma mark - 直播悬浮时候btn 退出widnow处理
  24. /**
  25. * 悬浮或直播功能的退出,发通知走cloaseBtn的方法,完整退出
  26. */
  27. + (void)exitSuswindowBlock:(void(^)(BOOL finished))block;
  28. #pragma mark - 任何 退出widnow 的参数 处理
  29. /**
  30. * 统一处理suswidnow 的参数 (暂时未启动)
  31. */
  32. + (void)detailSuswidnowPramaBlock:(void(^)(BOOL finished))block;
  33. #pragma mark--------------------------- 直播(主播自己)部分 --------
  34. #pragma mark - 去下个VC,当前直播 悬浮挂起
  35. /**
  36. * 当前自己开的直播 push效果去下个VC,当前直播 悬浮挂起
  37. */
  38. + (void)goNextVCWithSetSmallScreen:(BOOL)smallScreen withLiveVC:(UIViewController *)currentLiveVC withNextVC:(UIViewController *)nextVC withOtherPrama:(id)otherPrama finishedBlock:(void(^)(BOOL finished))block;
  39. #pragma mark - nextVC pop 回到 满屏widnow直播,nextVC自动退出
  40. /**
  41. pop 回到 满屏widnow直播,nextVC自动退出
  42. @param navController UINavigationController
  43. */
  44. + (void)popNextVCGoBackFullScreenWidnowLiveWithSelfNavController:(UINavigationController *)navController;
  45. #pragma mark - Geature Of Suswindow
  46. /**
  47. 手势处理
  48. */
  49. + (void)showLoadGeatureOfSusWindow;
  50. #pragma mark - Animation of SusWindow Size
  51. /**
  52. 悬浮动画
  53. @param block 注意既然代码能走到这里 必定悬浮啦。VC可以delegate找!
  54. */
  55. + (void)showAnimationOfSusWindowSizeBlock:(void(^)(BOOL finished))block;
  56. #pragma mark - 夹心层的退出
  57. /**
  58. 竞拍层的退出
  59. @param nextRootVCStr 竞拍层退出的时候,悬浮widnow需要动画恢复满屏幕。底层widnwo需要将RootVC 由竞拍层恢复到主页上
  60. @param block block回调
  61. */
  62. + (void)closeSanwichLayerOfNetRootVCStr:(NSString *)nextRootVCStr complete:(void(^)(BOOL finished))block;
  63. #pragma mark ---------------------------------------- 直播间关闭 部分 ---------------------------------------
  64. /**
  65. 直播间关闭 部分
  66. @param block 1.小屏幕 先放大回来 2.夹心层
  67. */
  68. + (void)closeSuswindowUIComplete:(void(^)(BOOL finished))block;
  69. #pragma mark - 悬浮层真正退出后悬浮参数处理
  70. /**
  71. 悬浮层真正退出后悬浮参数处理
  72. @param block 直播间退出的时候
  73. */
  74. + (void)resetSusWindowPramaWhenLiveClosedComplete:(void(^)(BOOL finished))block;
  75. @end