0
点赞
收藏
分享

微信扫一扫

PureLayout 的详细使用方法

楚木巽 2021-09-23 阅读 67

创建 view 使用 PureLayout 布局,详细用法

    // 距离父视图左边距20
    [purpleView autoPinEdgeToSuperviewEdge:(ALEdgeLeft) withInset:20.0];
    // 距离父视图上边距100
    [purpleView autoPinEdgeToSuperviewEdge:(ALEdgeTop) withInset:100.0];
    // 设置 view 的 size
    [purpleView autoSetDimensionsToSize:CGSizeMake(100, 100)];
    

    // 左边距离 purpleView 右边距30
    [orangeView autoPinEdge:(ALEdgeLeft) toEdge:(ALEdgeRight) ofView:purpleView withOffset:30];
    // purpleView 和 orangeView 登高等宽
    [@[orangeView,purpleView] autoMatchViewsDimension:(ALDimensionWidth)];
    [@[orangeView,purpleView] autoMatchViewsDimension:(ALDimensionHeight)];
    // orangeView 与 purpleView 水平对齐
    [orangeView autoAlignAxis:(ALAxisHorizontal) toSameAxisOfView:purpleView];
    

    // 距离父视图底部50 (这里是距离,不是坐标)
    [magentaView autoPinEdgeToSuperviewEdge:(ALEdgeBottom) withInset:50];
    // magentaView 与 purpleView 左对齐
    [magentaView autoPinEdge:(ALEdgeLeft) toEdge:(ALEdgeLeft) ofView:purpleView];
    // 设置 magentaView 的宽度
    [magentaView autoSetDimension:(ALDimensionWidth) toSize:150];
    // 设置 magentaView 的高度
    [magentaView autoSetDimension:(ALDimensionHeight) toSize:150];
    

    // 设置 yellowView 距 magentaView 的内边距全部是20
    ALEdgeInsets defInsets = ALEdgeInsetsMake(20.0,20.0,20.0,20.0);
    [yellowView autoPinEdgesToSuperviewEdgesWithInsets:defInsets];

运行结果如图:

    // purpleView 在父视图中心
    [purpleView autoCenterInSuperview];
    // purpleView 的宽高均为 100
    [purpleView autoSetDimensionsToSize:CGSizeMake(100, 100)];
    
    // orangeView 与 purpleView 的左边对齐
    [orangeView autoPinEdge:(ALEdgeLeft) toEdge:(ALEdgeLeft) ofView:purpleView];
    // orangeView 的顶部距离 purpleView 底部 10
    [orangeView autoPinEdge:(ALEdgeTop) toEdge:(ALEdgeBottom) ofView:purpleView withOffset:10];
    // orangeView 右边距父视图 20
    [orangeView autoPinEdgeToSuperviewEdge:(ALEdgeRight) withInset:20];
    // oragenView 的高度为 purpleView 的一半
    [orangeView autoMatchDimension:(ALDimensionHeight) toDimension:(ALDimensionHeight) ofView:purpleView withMultiplier:0.5];

    // purpleView在父视图上水平居中
    [purpleView autoAlignAxisToSuperviewAxis:(ALAxisHorizontal)];
    NSArray * views = @[purpleView, orangeView, magentaView, yellowView];
    // 四个 view 的高均为40
    [views autoSetViewsDimension:(ALDimensionHeight) toSize:40];
    // 水平方向上,四个viwe间距为10,依次排序
    [views autoDistributeViewsAlongAxis:(ALAxisHorizontal) alignedTo:(ALAttributeHorizontal) withFixedSpacing:10.0 insetSpacing:YES matchedSizes:YES];

举报

相关推荐

0 条评论