LookinAutoLayoutConstraint.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. @property(nonatomic, assign) NSLayoutAttribute firstAttribute;
  29. @property(nonatomic, assign) NSLayoutRelation relation;
  30. @property(nonatomic, strong) LookinObject *secondItem;
  31. @property(nonatomic, assign) LookinConstraintItemType secondItemType;
  32. @property(nonatomic, assign) NSLayoutAttribute secondAttribute;
  33. @property(nonatomic, assign) CGFloat multiplier;
  34. @property(nonatomic, assign) CGFloat constant;
  35. @property(nonatomic, assign) CGFloat priority;
  36. @property(nonatomic, copy) NSString *identifier;
  37. + (NSString *)descriptionWithItemObject:(LookinObject *)object type:(LookinConstraintItemType)type detailed:(BOOL)detailed;
  38. + (NSString *)descriptionWithAttribute:(NSLayoutAttribute)attribute;
  39. + (NSString *)symbolWithRelation:(NSLayoutRelation)relation;
  40. + (NSString *)descriptionWithRelation:(NSLayoutRelation)relation;
  41. @end
  42. #endif /* SHOULD_COMPILE_LOOKIN_SERVER */