zoukankan      html  css  js  c++  java
  • 【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(因为前后都一样才算是剧中缩小)得出的。发生这种变化的原因我也不清楚,这个结果是试验出来的。

     

     

     

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

  • 相关阅读:
    php字符串截取
    Linux配置网络
    Linux FTP服务
    linux复习一
    解决phpcms V9整合discuz! X3.0后,在phpcms新注册用户需要在discuz激活的问题
    Discuz整合ECShop同步登出的问题解决
    Validator表单验证类
    JAVA学习之疯狂JAVA讲义知识分享
    Android中View绘制流程以及invalidate()等相关方法分析
    Android View的生命周期详解
  • 原文地址:https://www.cnblogs.com/Hanzo/p/6048241.html
Copyright © 2011-2022 走看看