请教,view位置没有交换

请教,view位置没有交换

UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 375-100-100, 50)];

    view1.backgroundColor = [UIColor redColor];

    [self.view addSubview:view1];

    UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 375-100-100, 50)];

    view2.backgroundColor = [UIColor greenColor];

    [self.view addSubview:view2];

    [self.view exchangeSubviewAtIndex:2 withSubviewAtIndex:3];

请问老师,view1和2的位置并没有交换,问题在哪儿?谢谢。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
莫非你好棒 2017-10-16 09:20:50

//view1的序号是0,view2的序号是1

    [self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

//改正这样即可

  • 这样是红色在上面,但是把数字换成1和0,却不是绿色在上面
    2017-11-23 17:59:57
  • 这个数字不是随便放的,比如原来是1在上面,0在下面,现在想要把两个位置互换,也就是把0放到前面,就需要把这个参数放在第一个参数中,也就是谁想在前,就把哪个参数放在前面。因为代码是机器编译,人的思维可能是只要互换就可以,但是代码需要编译才执行。
    2017-11-23 18:07:10
  • 老师,那我想问下,为什么view1是数字0?不应该是self.view吗?
    2018-02-27 20:25:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师