美文网首页
Autoresizing

Autoresizing

作者: Q2我没有疯 | 来源:发表于2018-12-12 15:43 被阅读0次

    一丶 Autoresizing


    1.1 摘要: 苹果在iOS2中引入了Autoresizing技术用于屏幕适配, 用于在其父视图的bounds发生改变时如何自动调整如何调整自身布局(大小)

    1.2 使用:
    • ⚠️ Autoreszing 与 Auto Layout 二者不能共存,Xcode中默认开启了Autolayout技术, 在使用Autoresizing技术前需要手动将其关闭


      关闭Auto Layout.png
    • autoresizingMask属性: autoresizingMask属性的设置由六根线标识, 其中位于外部的四根线分别用于标识用于父视图的bounds发生改变时自动调整与父视图的上、下、左、右边距; 位于内部的两根线分别用于标识如何自动调整自身的宽度和高度
    • 默认autoresizingMask标识的情况下 autoresizingMask属性.png 默认autoresizingMask标识.jpg
    • 设置autoresizingMask距离父视图的右边与底部的标识 距离父视图的右边与底部的标识.png 效果图
    • 设置autoresizingMask自动调整自身的宽度和高度


      距离父视图的右边与底部的标识.png
      自动调整自身的宽度和高度效果图.png
    • 代码实现

        /*
         UIViewAutoresizingNone                 = 0, //不会根据父控件的改变而进行改变
         UIViewAutoresizingFlexibleLeftMargin   = 1 << 0, 自动调整距离父控件左边边距(也就是距离右边边距是固定的)
         UIViewAutoresizingFlexibleWidth        = 1 << 1, 自动调整宽度根据父控件的宽度发生变化而变化
         UIViewAutoresizingFlexibleRightMargin  = 1 << 2, 自动调整距离父控件u右边边距
         UIViewAutoresizingFlexibleTopMargin    = 1 << 3, 自动调整距离父控件顶部边距
         UIViewAutoresizingFlexibleHeight       = 1 << 4, 自动调整高度根据父控件的高度发生变化而变化
         UIViewAutoresizingFlexibleBottomMargin = 1 << 5  自动调整距离父控件底部边距
         */
        CGFloat H = [UIScreen mainScreen].bounds.size.height;
        CGFloat W = [UIScreen mainScreen].bounds.size.width;
        UIView *blueView =  [[UIView alloc] initWithFrame:CGRectMake(W-100, H-100, 100, 100)];
        blueView.backgroundColor = [UIColor blueColor];
        blueView.autoresizingMask  = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
        [self.view addSubview:blueView];
    

    相关文章

      网友评论

          本文标题:Autoresizing

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