|
@@ -299,6 +299,8 @@
|
|
|
|
|
|
|
|
@end
|
|
@end
|
|
|
|
|
|
|
|
|
|
+static const UILayoutPriority kRALayoutPriorityNone = -1;
|
|
|
|
|
+
|
|
|
@implementation RAConstraintMaker
|
|
@implementation RAConstraintMaker
|
|
|
|
|
|
|
|
- (instancetype)initWithAppliedView:(UIView *)view {
|
|
- (instancetype)initWithAppliedView:(UIView *)view {
|
|
@@ -316,6 +318,12 @@
|
|
|
self.height
|
|
self.height
|
|
|
]];
|
|
]];
|
|
|
|
|
|
|
|
|
|
+ self.ra_horizontalHuggingPriority = kRALayoutPriorityNone;
|
|
|
|
|
+ self.ra_verticalHuggingPriority = kRALayoutPriorityNone;
|
|
|
|
|
+
|
|
|
|
|
+ self.ra_horizontalCompressionResistancePriority = kRALayoutPriorityNone;
|
|
|
|
|
+ self.ra_verticalCompressionResistancePriority = kRALayoutPriorityNone;
|
|
|
|
|
+
|
|
|
__weak typeof(self) weakSelf = self;
|
|
__weak typeof(self) weakSelf = self;
|
|
|
self.ra_modifyConstraint = [^(NSString *identifier, CGFloat constant) {
|
|
self.ra_modifyConstraint = [^(NSString *identifier, CGFloat constant) {
|
|
|
|
|
|
|
@@ -490,6 +498,25 @@
|
|
|
- (void)ra_install {
|
|
- (void)ra_install {
|
|
|
if (self.appliedView) {
|
|
if (self.appliedView) {
|
|
|
|
|
|
|
|
|
|
+ // 抗拉伸
|
|
|
|
|
+ if (self.ra_horizontalHuggingPriority != kRALayoutPriorityNone) {
|
|
|
|
|
+ [self.appliedView setContentHuggingPriority:self.ra_horizontalHuggingPriority forAxis:UILayoutConstraintAxisHorizontal];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (self.ra_verticalHuggingPriority != kRALayoutPriorityNone) {
|
|
|
|
|
+ [self.appliedView setContentHuggingPriority:self.ra_verticalHuggingPriority forAxis:UILayoutConstraintAxisVertical];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 抗压缩
|
|
|
|
|
+ if (self.ra_horizontalCompressionResistancePriority != kRALayoutPriorityNone) {
|
|
|
|
|
+ [self.appliedView setContentCompressionResistancePriority:self.ra_horizontalCompressionResistancePriority forAxis:UILayoutConstraintAxisHorizontal];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (self.ra_verticalCompressionResistancePriority != kRALayoutPriorityNone) {
|
|
|
|
|
+ [self.appliedView setContentCompressionResistancePriority:self.ra_verticalCompressionResistancePriority forAxis:UILayoutConstraintAxisVertical];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // normal constraint
|
|
|
for (RAConstraint *constraint in self.constraints) {
|
|
for (RAConstraint *constraint in self.constraints) {
|
|
|
[constraint ra_install];
|
|
[constraint ra_install];
|
|
|
}
|
|
}
|