| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- //
- // View+AutoLayout.m
- // Category
- //
- // Created by em.
- // Copyright © 2017년 em. All rights reserved.
- //
- #import "UIView+AutoLayout.h"
- @implementation UIView(AutoLayout)
- - (void)addTopConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeTop
- relatedBy:NSLayoutRelationEqual
- toItem:self.superview
- attribute:NSLayoutAttributeTop
- multiplier:1.0f
- constant:constant]] ;
-
- }
- - (void)addBottomConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeBottom
- relatedBy:NSLayoutRelationEqual
- toItem:self.superview
- attribute:NSLayoutAttributeBottom
- multiplier:1.0f
- constant:constant]] ;
-
-
- }
- - (void)addLeadingConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeLeading
- relatedBy:NSLayoutRelationEqual
- toItem:self.superview
- attribute:NSLayoutAttributeLeading
- multiplier:1.0f
- constant:constant]] ;
-
-
- }
- - (void)addTrailingConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeTrailing
- relatedBy:NSLayoutRelationEqual
- toItem:self.superview
- attribute:NSLayoutAttributeTrailing
- multiplier:1.0f
- constant:constant]] ;
-
-
- }
- - (void)addWidthConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeWidth
- relatedBy:NSLayoutRelationEqual
- toItem:nil
- attribute:0
- multiplier:1.0f
- constant:constant]] ;
-
-
- }
- - (void)addHeightConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeHeight
- relatedBy:NSLayoutRelationEqual
- toItem:nil
- attribute:0
- multiplier:1.0f
- constant:constant]] ;
-
- }
- - (void)addCenterHorizontalConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeCenterX
- relatedBy:NSLayoutRelationEqual
- toItem:self.superview
- attribute:NSLayoutAttributeCenterX
- multiplier:1.0f
- constant:constant]] ;
-
- }
- - (void)addCenterVerticalConstant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeCenterY
- relatedBy:NSLayoutRelationEqual
- toItem:self.superview
- attribute:NSLayoutAttributeCenterY
- multiplier:1.0f
- constant:constant]] ;
-
- }
- - (void)addHorizontalSpaceTo:(id)relateView constant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeLeading
- relatedBy:NSLayoutRelationEqual
- toItem:relateView
- attribute:NSLayoutAttributeTrailing
- multiplier:1.0f
- constant:constant]] ;
-
- //[self.leadingAnchor constraintEqualToAnchor:((UIView *)relateView).trailingAnchor constant:constant].active = YES ;
-
- }
- - (void)addVerticalSpaceTo:(id)relateView constant:(CGFloat)constant {
-
- [self disableTranslatesAutoresizingMaskIntoConstraints] ;
-
- [self.superview addConstraint:[NSLayoutConstraint constraintWithItem:self
- attribute:NSLayoutAttributeTop
- relatedBy:NSLayoutRelationEqual
- toItem:relateView
- attribute:NSLayoutAttributeBottom
- multiplier:1.0f
- constant:constant]] ;
-
-
- //[self.topAnchor constraintEqualToAnchor:((UIView *)relateView).bottomAnchor constant:constant].active = YES ;
-
- }
- - (void)fillHorizontalToSuperview {
-
- [self addLeadingConstant:0.0f] ;
- [self addTrailingConstant:0.0f] ;
-
- }
- - (void)fillVerticalToSuperview {
-
- [self addTopConstant:0.0f] ;
- [self addBottomConstant:0.0f] ;
-
- }
- - (void)fillToSuperView {
-
- [self fillHorizontalToSuperview] ;
- [self fillVerticalToSuperview] ;
-
- }
- - (void)disableTranslatesAutoresizingMaskIntoConstraints {
- [self setTranslatesAutoresizingMaskIntoConstraints:NO] ;
- // if( self.translatesAutoresizingMaskIntoConstraints ) {
- //
- // }
-
- }
- @end
|