【iOS基础学习随笔-3】frame与bounds到底有什么联系

先说一下网上其他博客抄来抄去也就算了,关键是我都怀疑你抄完了以后你懂了么?自己都不懂抄过来让谁看呢?

 

    UIButton *subView = [UIButton buttonWithType:UIButtonTypeCustom];

    subView.frame = CGRectMake(0, 0, 200, 200);

    [subView addTarget:self action:@selector(dianji) forControlEvents:UIControlEventTouchUpInside];

    [subView setBounds:CGRectMake(-20, -20, 100, 100)];

    subView.backgroundColor = [UIColor redColor];

    [self.view addSubview:subView];

    NSLog(@"--%@",NSStringFromCGRect(subView.frame));

    

    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];

    view1.backgroundColor = [UIColor greenColor];

    view1.alpha = 0.5;

    [subView addSubview:view1];

 

 

subView在setBounds后发生如下变化

1、subView原先的左上交的点的坐标点为(0,0),现在为(-20,-20),所以view1现在的效果相当于原来的(20,20,100,100),实际上view1的frame并没有改变,只是效果变了

2、subView大小缩小为剧中缩小,新的frame为(50,50,100,100),这个50 是原来的宽(高)减去现在的宽(高)除以2(因为前后都一样才算是剧中缩小)得出的。发生这种变化的原因我也不清楚,这个结果是试验出来的。

 

 

 

网上大多只说了第一种情况而没说第二种情况。

posted @ 2016-11-09 19:53  代我向老师问好  阅读(135)  评论(0编辑  收藏  举报