orta/ORStackView — pull request #19 by dblock (2014-06-07 01:17:59+00:00)
Title: Fixed crash when setting ORStackView.bottomMarginHeight without any child views on iOS8.

Adding a constraint with a `nil` view doesn't work anymore on iOS8. You get:

```
2014-06-06 18:13:13.759 ORStackViewExample[83043:1114513] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unexpected use of internal layout attribute'
*** First throw call stack:
(
0 CoreFoundation 0x019a0916 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x0163e8d9 objc_exception_throw + 44
2 CoreFoundation 0x019a07aa +[NSException raise:format:arguments:] + 138
3 Foundation 0x012bf67c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118
4 UIKit 0x0080628e -[UIView(AdditionalLayoutSupport) nsli_lowerAttribute:intoExpression:withCoefficient:forConstraint:] + 2452
5 Foundation 0x01234952 lower_1_attribute + 194
6 Foundation 0x012343cd -[NSLayoutConstraint _lowerIntoExpression:reportingConstantIsRounded:] + 99
7 Foundation 0x0122852f -[NSLayoutConstraint _addToEngine:integralizationAdjustment:mutuallyExclusiveConstraints:] + 97
8 UIKit 0x007f7ba3 -[UIView(UIConstraintBasedLayout) _layoutEngine_didAddLayoutConstraint:roundingAdjustment:mutuallyExclusiveConstraints:] + 508
9 UIKit 0x007f7ffb -[UIView(UIConstraintBasedLayout) _tryToAddConstraintWithoutUpdatingConstraintsArray:roundingAdjustment:mutuallyExclusiveConstraints:] + 61
10 UIKit 0x007f8148 -[UIView(UIConstraintBasedLayout) _tryToAddConstraint:roundingAdjustment:mutuallyExclusiveConstraints:] + 273
11 UIKit 0x007f8310 -[UIView(UIConstraintBasedLayout) _addConstraint:] + 234
12 UIKit 0x007f8221 -[UIView(UIConstraintBasedLayout) addConstraint:] + 40
13 ORStackViewExampleTests 0x0c22eee4 -[UIView(FLKAutoLayoutPredicate) applyPredicate:toView:fromAttribute:toAttribute:] + 404
14 ORStackViewExampleTests 0x0c22cf3f __78+[UIView(FLKAutoLayout) alignAttribute:ofViews:toAttribute:ofViews:predicate:]_block_invoke + 239
15 ORStackViewExampleTests 0x0c229b1c -[FLKAutoLayoutPredicateList iteratePredicatesUsingBlock:] + 508
16 ORStackViewExampleTests 0x0c22ccdc +[UIView(FLKAutoLayout) alignAttribute:ofViews:toAttribute:ofViews:predicate:] + 764
17 ORStackViewExampleTests 0x0c22c95e +[UIView(FLKAutoLayout) alignAttribute:ofViews:toViews:predicate:] + 206
18 ORStackViewExampleTests 0x0c22a6d5 -[UIView(FLKAutoLayout) alignAttribute:toView:predicate:] + 373
19 ORStackViewExampleTests 0x0c22bd5c -[UIView(FLKAutoLayout) alignBottomEdgeWithView:predicate:] + 140
20 ORStackViewExampleTests 0x0c23aa5b -[ORStackView updateConstraints] + 3083
21 UIKit 0x0080411c -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 272
22 UIKit 0x0080430f -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 127
23 UIKit 0x0080428a __UIViewRecursionHelper + 41
24 CoreFoundation 0x01892f69 CFArrayApplyFunction + 57
25 UIKit 0x008040ac -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 160
26 UIKit 0x0080430f -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 127
27 UIKit 0x0080428a __UIViewRecursionHelper + 41
28 CoreFoundation 0x01892f69 CFArrayApplyFunction + 57
29 UIKit 0x008040ac -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 160
30 UIKit 0x0080430f -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 127
31 UIKit 0x008048a6 __60-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]_block_invoke + 105
32 Foundation 0x01238830 -[NSISEngine withBehaviors:performModifications:] + 143
33 Foundation 0x0123bda8 -[NSISEngine withAutomaticOptimizationDisabled:] + 48
34 UIKit 0x00803ecb -[UIView(AdditionalLayoutSupport) _withAutomaticEngineOptimizationDisabledIfEngineExists:] + 64
35 UIKit 0x008044fc -[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded] + 248
36 UIKit 0x007f710d -[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded] + 87
37 UIKit 0x007f705f -[UIWindow(UIConstraintBasedLayout) layoutSublayersOfLayer:] + 91
38 libobjc.A.dylib 0x01651763 -[NSObject performSelector:withObject:] + 70
39 QuartzCore 0x032aeb87 -[CALayer layoutSublayers] + 152
```