I have a custom UIView subclass which is being initialized via a nib.
In -awakeFromNib
, I\'m creating a subview and attempting to center it in its super
Short answer: swap parent and child view.
Assuming self
is the parent view:
bad: [subview addConstraint [NSLayoutConstraint constraintWithItem:self...
good: [self addConstraint [NSLayoutConstraint constraintWithItem:subview...
Swift
subview.translatesAutoresizingMaskIntoConstraints = false
self.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(
"H:|-0-[subview]-0-|",
options: .DirectionLeadingToTrailing,
metrics: nil,
views: ["subview":subview]))
Obj-C
[subview setTranslatesAutoresizingMaskIntoConstraints:NO];
[self addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-0-[subview]-0-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(subview)]];