diff --git a/Draftsman/Classes/Anchors/ConstraintBuilderRootRecoverable.swift b/Draftsman/Classes/Anchors/ConstraintBuilderRootRecoverable.swift index 50ee0a3..9ad1ffe 100644 --- a/Draftsman/Classes/Anchors/ConstraintBuilderRootRecoverable.swift +++ b/Draftsman/Classes/Anchors/ConstraintBuilderRootRecoverable.swift @@ -101,5 +101,17 @@ extension ConstraintBuilderRootRecoverable where Root: ViewDraft { @inlinable public func resistHorizontalCompression(_ priority: UILayoutPriority) -> Root { backToRoot { $0.resistHorizontalCompression(priority) } } + + @inlinable public func resistSizeExpansion(_ priority: UILayoutPriority) -> Root { + resistVerticalExpansion(priority).resistHorizontalExpansion(priority) + } + + @inlinable public func resistSizeCompression(_ priority: UILayoutPriority) -> Root { + resistVerticalCompression(priority).resistHorizontalCompression(priority) + } + + @inlinable public func resistSizeAdjustment(_ priority: UILayoutPriority) -> Root { + resistSizeExpansion(priority).resistSizeCompression(priority) + } } #endif diff --git a/Draftsman/Classes/Draft/ViewPlan.swift b/Draftsman/Classes/Draft/ViewPlan.swift index dc23f72..eee956c 100644 --- a/Draftsman/Classes/Draft/ViewPlan.swift +++ b/Draftsman/Classes/Draft/ViewPlan.swift @@ -28,6 +28,9 @@ public protocol ViewDraft: ViewPlan, AnyObject { func resistHorizontalExpansion(_ priority: UILayoutPriority) -> Self func resistVerticalCompression(_ priority: UILayoutPriority) -> Self func resistHorizontalCompression(_ priority: UILayoutPriority) -> Self + func resistSizeExpansion(_ priority: UILayoutPriority) -> Self + func resistSizeCompression(_ priority: UILayoutPriority) -> Self + func resistSizeAdjustment(_ priority: UILayoutPriority) -> Self } public protocol StackDraft: ViewDraft { @@ -67,5 +70,14 @@ extension ViewDraft { view.setContentCompressionResistancePriority(priority, for: .horizontal) return self } + @inlinable public func resistSizeExpansion(_ priority: UILayoutPriority) -> Self { + resistVerticalExpansion(priority).resistHorizontalExpansion(priority) + } + @inlinable public func resistSizeCompression(_ priority: UILayoutPriority) -> Self { + resistVerticalCompression(priority).resistHorizontalCompression(priority) + } + @inlinable public func resistSizeAdjustment(_ priority: UILayoutPriority) -> Self { + resistSizeExpansion(priority).resistSizeCompression(priority) + } } #endif