美文网首页
iOS布局之AutoresizingMask

iOS布局之AutoresizingMask

作者: BookKeeping | 来源:发表于2018-03-30 16:29 被阅读0次

    我们在使用AutoResizing进行布局的时候,其主要思想就是设置子视图跟随父视图的frame变化而变化。具体的情况,我们可以设置左跟随,右跟随等等。下面是AutoResizing在代码中的使用。

    //父视图
    UIView *superView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    superView.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:superView];
    //子视图
    UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    subView.backgroundColor = [UIColor purpleColor];
    [superView addSubview:subView];
    
    //设置子视图的宽度随着父视图变化
    subView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    
    //修改父视图的frame
    superView.frame = CGRectMake(0, 0,200 , 200);
    

    以上代码中我们设置了子视图的宽度随父视图的变化而改变,其效果图如下:


    1244124-7ca6662909656fa0.png

    我们可以看到,图中的子视图的宽度也随着父视图的宽度增加到了二倍。这就是AutoResizing的一个最简单的应用。在我们在实际使用时,还有很多的相关属性可以设置。有关AutoResizing可设置的布局属性如下:

    typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
        UIViewAutoresizingNone                 = 0,
        UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
        UIViewAutoresizingFlexibleWidth        = 1 << 1,
        UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
        UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
        UIViewAutoresizingFlexibleHeight       = 1 << 4,
        UIViewAutoresizingFlexibleBottomMargin = 1 << 5
    };
    
    

    相关文章

      网友评论

          本文标题:iOS布局之AutoresizingMask

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