停靠模式:子视图自适应父视图长度宽度左边距右边距上下边距

本文将介绍如何在Objective-C中创建并动态调整视图布局,通过实例展示使用autoresizingMask属性实现视图随父视图变化而变化的方法,并提供了一个简单的按钮点击事件示例来动态改变视图大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 200, 200)];

    v.tag = 100;

    v.backgroundColor = [UIColor orangeColor];

    [self.window addSubview:v];

    [v release];

    

    UIView *v1 = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];

    v1.backgroundColor = [UIColor blueColor];

    //停靠模式 当父视图发生变化时 子视图也会发生相应的变化

    v1.autoresizingMask = UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth;

    [v addSubview:v1];

    [v1 release];

    

    UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];

    b.frame = CGRectMake(0, 320, 100, 30);

    [b setTitle:@"click" forState:UIControlStateNormal];

    [b addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];

    [self.window addSubview:b];

    

    

    return YES;

}


bool flag = YES;

-(void)click

{

    UIView *v = [self.window viewWithTag:100];

    if (flag) {

        v.frame = CGRectMake(0, 20, 300, 300);

    }else{

        v.frame = CGRectMake(0, 20, 200, 200);

    }

    flag = !flag;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值