XXNibBridge
XXNibBridge copied to clipboard
property IBOutlet NSLayoutConstraint nil
since version 2.3 ,if some of one view's subviews is Custom,the property IBOutlet NSLayoutConstraint width or height will be nil,if i change the property to strong, it will not work set
.constant
if (placeholderView.constraints.count > 0) {
for (NSLayoutConstraint* constraint in placeholderView.constraints) {
if ([UIDevice currentDevice].systemVersion.floatValue < 10) {
if (constraint.firstItem == placeholderView) {
[constraint setValue:realView forKey:@"firstItem"];
}
if (constraint.secondItem == placeholderView) {
[constraint setValue:realView forKey:@"secondItem"];
}
} else {
Ivar referenceItem =
class_getInstanceVariable(NSLayoutAnchor.class, "_referenceItem");
id firstAnchorItem = object_getIvar(
[constraint valueForKey:@"firstAnchor"], referenceItem);
if (firstAnchorItem == placeholderView) {
object_setIvar([constraint valueForKey:@"firstAnchor"], referenceItem,
realView);
}
if ([constraint valueForKey:@"secondAnchor"] != nil) {
id secondAnchorItem = object_getIvar(
[constraint valueForKey:@"secondAnchor"], referenceItem);
if (secondAnchorItem == placeholderView) {
object_setIvar([constraint valueForKey:@"secondAnchor"],
referenceItem, realView);
}
}
}
}
[realView addConstraints:placeholderView.constraints];
}