HWPanContainerView.m 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // HWPanContainerView.m
  3. // HWPanModal
  4. //
  5. // Created by heath wang on 2019/4/26.
  6. //
  7. #import "HWPanContainerView.h"
  8. @interface HWPanContainerView ()
  9. @property (nonatomic, strong) UIView *contentView;
  10. @end
  11. @implementation HWPanContainerView
  12. - (instancetype)initWithPresentedView:(UIView *)presentedView frame:(CGRect)frame {
  13. self = [super initWithFrame:frame];
  14. if (self) {
  15. _contentView = [UIView new];
  16. _contentView.frame = self.bounds;
  17. [self addSubview:_contentView];
  18. [_contentView addSubview:presentedView];
  19. }
  20. return self;
  21. }
  22. - (void)updateShadow:(UIColor *)shadowColor shadowRadius:(CGFloat)shadowRadius shadowOffset:(CGSize)shadowOffset shadowOpacity:(float)shadowOpacity {
  23. self.layer.shadowColor = shadowColor.CGColor;
  24. self.layer.shadowRadius = shadowRadius;
  25. self.layer.shadowOffset = shadowOffset;
  26. self.layer.shadowOpacity = shadowOpacity;
  27. }
  28. - (void)clearShadow {
  29. self.layer.shadowColor = nil;
  30. self.layer.shadowRadius = 3.0;
  31. self.layer.shadowOffset = CGSizeZero;
  32. self.layer.shadowOpacity = 0.0;
  33. }
  34. @end
  35. @implementation UIView (PanContainer)
  36. - (HWPanContainerView *)panContainerView {
  37. for (UIView *subview in self.subviews) {
  38. if ([subview isKindOfClass:HWPanContainerView.class]) {
  39. return (HWPanContainerView *) subview;
  40. }
  41. }
  42. return nil;
  43. }
  44. @end