TDSAutoLayout.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // XDGAutoLayout.h
  3. // XDG
  4. //
  5. // Created by JiangJiahao on 2020/8/20.
  6. // Copyright © 2020 JiangJiahao. All rights reserved.
  7. // 简单自动布局类
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. NS_ASSUME_NONNULL_BEGIN
  11. @interface TDSAutoLayout : NSObject
  12. + (void)openAutoLayout:(UIView *)targetView;
  13. + (void)safeAreaLayout:(BOOL)safe;
  14. + (NSLayoutConstraint *)layoutHeight:(UIView *)targetView height:(CGFloat)height;
  15. + (NSLayoutConstraint *)layoutWidth:(UIView *)targetView width:(CGFloat)width;
  16. /// 相等约束相等布局
  17. /// @param view1 view1
  18. /// @param view2 view2
  19. + (void)layoutViewEqual:(UIView *)view1 toView:(UIView *)view2;
  20. + (NSLayoutConstraint *)layoutViewEqual:(UIView *)view1
  21. toView:(UIView *)view2
  22. attribute:(NSLayoutAttribute)attr;
  23. + (NSLayoutConstraint *)layoutViewEqual:(UIView *)view1
  24. toView:(UIView *)view2
  25. attribute:(NSLayoutAttribute)attr
  26. offset:(CGFloat)offset;
  27. + (NSLayoutConstraint *)layoutViewEqual:(UIView *)view1
  28. attribute:(NSLayoutAttribute)attr1
  29. toView:(UIView *)view2
  30. attribute:(NSLayoutAttribute)attr2;
  31. /// 约束两个view相等
  32. /// @param view1 view1
  33. /// @param attr1 view1约束
  34. /// @param view2 view2
  35. /// @param attr2 view2约束
  36. /// @param constant 距离
  37. + (NSLayoutConstraint *)layoutViewEqual:(UIView *)view1
  38. attribute:(NSLayoutAttribute)attr1
  39. toView:(UIView *)view2
  40. attribute:(NSLayoutAttribute)attr2
  41. constant:(CGFloat)constant;
  42. /// 约束两个view,更大
  43. /// @param view1 view1
  44. /// @param attr1 view1约束
  45. /// @param view2 view2
  46. /// @param attr2 view2约束
  47. /// @param constant 距离
  48. + (NSLayoutConstraint *)layoutViewGreater:(UIView *)view1
  49. attribute:(NSLayoutAttribute)attr1
  50. toView:(nullable UIView *)view2
  51. attribute:(NSLayoutAttribute)attr2
  52. constant:(CGFloat)constant;
  53. /// 约束两个view,更小
  54. /// @param view1 view1
  55. /// @param attr1 view1约束
  56. /// @param view2 view2
  57. /// @param attr2 view2约束
  58. /// @param constant 距离
  59. + (NSLayoutConstraint *)layoutViewLesser:(UIView *)view1
  60. attribute:(NSLayoutAttribute)attr1
  61. toView:(nullable UIView *)view2
  62. attribute:(NSLayoutAttribute)attr2
  63. constant:(CGFloat)constant;
  64. @end
  65. NS_ASSUME_NONNULL_END