IOS开发之——屏幕适配-Autoresizing(01)

IOS开发之——屏幕适配-Autoresizing(01),第1张

一 概述 什么是Autoresizing布局通过布局实现Autoresizing布局通过代码实现Autoresizing布局 二 Autoresizing布局 2.1 什么是Autoresizing Autoresizing是iOS中传统的界面自动布局方式通过它,当父视图frame变换时,子视图会自动的做出相应的调整 2.2 Autoresizing布局介绍

View中参数说明:

x:选中View的X坐标y:选中View的Y坐标Width:选中View的宽度Height:选中View的高度

Autoresizing说明:

上面横杠(实线):与父视图的上边距位置固定右边横杠(实线):与父试图的右边距位置固定下边横杠(实线):与父视图的下边距位置固定左边横杠(实线):与父视图的左边距位置固定左右箭头(中间):左右缩放上下箭头(中间):上下缩放

Autoresizing右边视图说明:

动态显示视图设置后的显示效果把鼠标放在Autoresizing图框区域,视图会动态显示 三 通过布局实现Autoresizing布局 3.1 布局说明 父布局是红色View,包含两个子View,分别位于左上角和右下角,随屏幕缩放子View1,位于父View左上角,随着屏幕缩放子View2,位于父View右下角,随着屏幕缩放 3.2 布局中设置

父布局(红色View):设置上边距固定、左边距固定、上下/左右缩放箭头

子View1(左上角):设置上边距固定、左边距固定、上下/左右缩放箭头

子View2(右下角):设置上边距固定、左边距固定、上下/左右缩放箭头

3.3 效果图(2手机+平板)

四 通过代码实现Autoresizing布局 4.1通过代码使用Autoresizing UIView两个属性
// 默认为YES
@property(nonatomic) BOOL autoresizesSubviews;
// 默认为UIViewAutoresizingNone
@property(nonatomic) UIViewAutoresizing autoresizingMask;

说明:

autoresizesSubviews属性用于标识当自身的bounds发生改变时是否自动调整子视图的布局;autoresizingMask属性用于标识当父视图的bounds发生改变时如何自动调整自身的布局 autoresizingMask属性的取值
UIViewAutoresizingNone                 = 0,      不执行任何调整
UIViewAutoresizingFlexibleLeftMargin   = 1 << 0, 自动调整与父视图的左边距
UIViewAutoresizingFlexibleWidth        = 1 << 1, 自动调整自身的宽度
UIViewAutoresizingFlexibleRightMargin  = 1 << 2, 自动调整与父视图的右边距
UIViewAutoresizingFlexibleTopMargin    = 1 << 3, 自动调整与父视图的上边距
UIViewAutoresizingFlexibleHeight       = 1 << 4, 自动调整自身的高度
UIViewAutoresizingFlexibleBottomMargin = 1 << 5, 自动调整与父视图的下边距
4.2 代码
- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIView * parentView = [[UIView alloc]initWithFrame:CGRectMake(20, 40, 200, 200)];
    parentView.backgroundColor=[UIColor redColor];
    parentView.autoresizingMask=UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleBottomMargin;
    parentView.autoresizingMask=UIViewAutoresizingFlexibleWidth;
    
    UIView * view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
    view1.backgroundColor=[UIColor blueColor];
    view1.autoresizingMask=UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleBottomMargin;
    view1.autoresizingMask=UIViewAutoresizingFlexibleWidth;
    
    [parentView addSubview:view1];
    
    UIView * view2 = [[UIView alloc]initWithFrame:CGRectMake(150, 150, 50, 50)];
    view2.backgroundColor=[UIColor greenColor];
    view2.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleTopMargin;
    view2.autoresizingMask=UIViewAutoresizingFlexibleWidth;
    [parentView addSubview:view2];
         
    [self.view addSubview:parentView];  
}
4.3 效果图
竖屏横屏

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/993579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存