According to the Cocoa Auto Layout Guide, I can use a dash in the visual constraint format language to \"denote the standard Aqua space:\"
[self addConstrain
For iOS users:
#import "NSLayoutConstraint+StandardOffsets.h"
@implementation NSLayoutConstraint (StandardOffsets)
+ (CGFloat)standardConstantBetweenSiblings
{
static CGFloat value;
if(!isnormal(value)) {
UIView *view = [UIView new] ;
NSLayoutConstraint* constraintWithStandardConstantBetweenSiblings = [NSLayoutConstraint constraintsWithVisualFormat:@"[view]-[view]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view) ] [0] ;
value = constraintWithStandardConstantBetweenSiblings.constant ; // 8.0
}
return value;
}
+ (CGFloat)standardConstantBetweenSuperview
{
static CGFloat value;
if(!isnormal(value)) {
UIView *view = [UIView new] ;
UIView *superview = [UIView new] ;
[superview addSubview:view] ;
NSLayoutConstraint* constraintWithStandardConstantBetweenSuperview = [NSLayoutConstraint constraintsWithVisualFormat:@"[view]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view) ] [0] ;
value = constraintWithStandardConstantBetweenSuperview.constant ; // 20.0
}
return value;
}
@end
PS: I entered a bugreport that no constant is offered in the header files!