LookinAutoLayoutConstraint.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifdef SHOULD_COMPILE_LOOKIN_SERVER
  2. //
  3. // LookinAutoLayoutConstraint.h
  4. // Lookin
  5. //
  6. // Created by Li Kai on 2019/9/28.
  7. // https://lookin.work
  8. //
  9. #import "LookinDefines.h"
  10. @class LookinObject;
  11. typedef NS_ENUM(NSInteger, LookinConstraintItemType) {
  12. LookinConstraintItemTypeUnknown,
  13. LookinConstraintItemTypeNil,
  14. LookinConstraintItemTypeView,
  15. LookinConstraintItemTypeSelf,
  16. LookinConstraintItemTypeSuper,
  17. LookinConstraintItemTypeLayoutGuide
  18. };
  19. @interface LookinAutoLayoutConstraint : NSObject <NSSecureCoding>
  20. #if TARGET_OS_IPHONE
  21. + (instancetype)instanceFromNSConstraint:(NSLayoutConstraint *)constraint isEffective:(BOOL)isEffective firstItemType:(LookinConstraintItemType)firstItemType secondItemType:(LookinConstraintItemType)secondItemType;
  22. #endif
  23. @property(nonatomic, assign) BOOL effective;
  24. @property(nonatomic, assign) BOOL active;
  25. @property(nonatomic, assign) BOOL shouldBeArchived;
  26. @property(nonatomic, strong) LookinObject *firstItem;
  27. @property(nonatomic, assign) LookinConstraintItemType firstItemType;
  28. /// iOS 里的 NSLayoutAttribute,注意 iOS 和 macOS 虽然都有 NSLayoutAttribute 但是 value 非常不同,因此这里使用 NSInteger 避免混淆
  29. @property(nonatomic, assign) NSInteger firstAttribute;
  30. @property(nonatomic, assign) NSLayoutRelation relation;
  31. @property(nonatomic, strong) LookinObject *secondItem;
  32. @property(nonatomic, assign) LookinConstraintItemType secondItemType;
  33. /// iOS 里的 NSLayoutAttribute,注意 iOS 和 macOS 虽然都有 NSLayoutAttribute 但是 value 非常不同,因此这里使用 NSInteger 避免混淆
  34. @property(nonatomic, assign) NSInteger secondAttribute;
  35. @property(nonatomic, assign) CGFloat multiplier;
  36. @property(nonatomic, assign) CGFloat constant;
  37. @property(nonatomic, assign) CGFloat priority;
  38. @property(nonatomic, copy) NSString *identifier;
  39. @end
  40. #endif /* SHOULD_COMPILE_LOOKIN_SERVER */