【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(因为前后都一样才算是剧中缩小)得出的。发生这种变化的原因我也不清楚,这个结果是试验出来的。
网上大多只说了第一种情况而没说第二种情况。