美文网首页
masnory方法笔记

masnory方法笔记

作者: 快乐的tomato | 来源:发表于2017-08-23 11:21 被阅读85次

在使用masnory适配的时候,有些方法记不住,特此笔记记录。

1、居中设置
垂直居中:make.centerY.mas_equalTo(self.window.mas_centerY)
水平居中:make.centerX.mas_equalTo(self.window.mas_centerX)
全屏居中:make.center.equalTo(self.window)
2、边界设置
上边界:make.top.equalTo(self.window).with.offset(15.0)
左边界:make.left.equalTo(self.window).with.offset(15.0)
下边界:make.bottom.equalTo(self.window).with.offset(-15.0)
右边界:make.right.equalTo(self.window).with.offset(-15.0)
或:
上边界:make.top.mas_equalTo(15.0)
左边界:make.left.mas_equalTo(15.0)
下边界:make.bottom.mas_equalTo(-15.0)
右边界:make.right.mas_equalTo(-15.0)
或:
上边界、左边界:make.top.left.mas_equalTo(15.0)
下边界、右边界:make.bottom.right.mas_equalTo(-15.0)
或:make.top.left.bottom.and.right.equalTo(self.window).with.insets(UIEdgeInsetsMake(15.0,15.0,15.0,15.0))
或:make.edges.equalTo(self.window).with.insets(UIEdgeInsetsMake(15.0,15.0,15.0,15.0))
与另一个视图的边界间距设置
与另一个视图右部边界间距:make.right.mas_equalTo(currentView.mas_left).offset(10.0);
与另一个视图底部边界间距:make.top.mas_equalTo(currentView.mas_bottom).offset(10.0);
3、倍数设置
设置宽度为self.view的一半,multipliedBy是倍数的意思,也就是,使宽度等于self.view宽度的0.5倍
make.width.equalTo(self.view.mas_width).multipliedBy(0.5);
设置高度为self.view高度的一半
make.height.equalTo(self.view.mas_height).multipliedBy(0.5);
4、大小设置
宽:
make.width.equalTo(self.view.mas_width).multipliedBy(0.5);
或:make.width. mas_equalTo(320.0).multipliedBy(0.5);
或:make.width. mas_equalTo(160.0);
高:make.height.equalTo(self.view.mas_height).multipliedBy(0.5);
或:make.height. mas_equalTo(320.0).multipliedBy(0.5);
或:make.height. mas_equalTo(160.0);
size:make.size. mas_equalTo(CGSizeMake(300.0,50.0));
或:make.size.equalTo(view);
或:make.size.mas_equalTo(CGSizeMake(150.0,50.0)).multipliedBy(0.5);
4、将若干view等宽布局于容器containerView中
-(void)makeEqualWidthViews:(NSArray *)views inView:(UIView *)containerView LRpadding:(CGFloat)LRpadding viewPadding :(CGFloat)viewPadding
{
    UIView *lastView;
    for (UIView *view in views) {
        [containerView addSubview:view];
        if (lastView) {
            [view mas_makeConstraints:^(MASConstraintMaker *make) {
                make.top.bottom.equalTo(containerView);
                make.left.equalTo(lastView.mas_right).offset(viewPadding);
                make.width.equalTo(lastView);
            }];
        }else
        {
            [view mas_makeConstraints:^(MASConstraintMaker *make) {
                make.left.equalTo(containerView).offset(LRpadding);
                make.top.bottom.equalTo(containerView);
            }];
        }
        lastView=view;
    }
    [lastView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.right.equalTo(containerView).offset(-LRpadding);
    }];
}
5、实现n宫格布局

布局说明
demo

6、移除约束重新布局

remake会将之前的全部移除,然后重新添加

// remake会将之前的全部移除,然后重新添加
  [self.growingButton mas_remakeConstraints:^(MASConstraintMaker *make) {
    make.top.mas_equalTo(0);
    make.left.right.mas_equalTo(0);
  
  }];
// 告诉self.view约束需要更新
  [self.view setNeedsUpdateConstraints];
  // 调用此方法告诉self.view检测是否需要更新约束,若需要则更新,下面添加动画效果才起作用
  [self.view updateConstraintsIfNeeded];

相关文章

  • masnory方法笔记

    在使用masnory适配的时候,有些方法记不住,特此笔记记录。 1、居中设置 2、边界设置 3、倍数设置 4、大小...

  • Masnory笔记

    概述 Masonry是一个非常轻量级的关于自动布局的库,这个相对于系统的AutoLayout的笨重给我这个习惯用纯...

  • Masnory 使用笔记

    使用Masonry不需要设置控件的translatesAutoresizingMaskIntoConstraint...

  • Masnory动画小记

    Masnory 不需要weakSelf masnory中的block使用原理和UIView 动画中的block 以...

  • Masnory

    居中显示 make.center.equalTo(self.view);make.size.mas_equalTo...

  • masnory设置圆角

    对masnory不是很熟悉.一直觉得用它无法得到frame,其实不然.用过layoutIfNeeded 这个方法后...

  • masnory 动画

    简单的动画就是把更改位置这件事放在一个时间里,所以重新修改约束,更新约束,设置全局约束更改值。

  • iOS 知识点-Masnory约束UIScrollerView的

    Masnory约束UIScrollerView 直接用Masonry对scrollView进行约束,scrollV...

  • Masonry 使用注意

    1,如何打印 frame 2,UIScrollView 如何 使用 masnory 3,利用 masonry 使...

  • ScrollView自适应Masnory

    ScrollView自适应Masnory 可以展示, 但是不能接收点击

网友评论

      本文标题:masnory方法笔记

      本文链接:https://www.haomeiwen.com/subject/porddxtx.html