UIView+HDSafeArea.m 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // UIView+HDSafeArea.m
  3. // HDCollectionView
  4. //
  5. // Created by HaoDong chen on 2019/1/22.
  6. // Copyright © 2019 CHD. All rights reserved.
  7. //
  8. #import "UIView+HDSafeArea.h"
  9. @implementation UIView (HDSafeArea)
  10. - (MASViewAttribute *)hd_mas_left {
  11. if (@available(iOS 11.0, *)) {
  12. return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeLeft];
  13. } else {
  14. return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeft];
  15. }
  16. }
  17. - (MASViewAttribute *)hd_mas_right {
  18. if (@available(iOS 11.0, *)) {
  19. return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeRight];
  20. } else {
  21. return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeRight];
  22. }
  23. }
  24. - (MASViewAttribute *)hd_mas_top {
  25. if (@available(iOS 11.0, *)) {
  26. //当VC的系统导航未隐藏时,VC.view的safeAreaLayoutGuideTop会包含导航
  27. return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeTop];
  28. } else {
  29. return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTop];
  30. }
  31. }
  32. - (MASViewAttribute *)hd_mas_bottom {
  33. if (@available(iOS 11.0, *)) {
  34. return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeBottom];
  35. } else {
  36. return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBottom];
  37. }
  38. }
  39. @end