| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> frame和bounds的区别 -> 正文阅读 |
|
[移动开发]frame和bounds的区别 |
学习理解:每个view都有一个以左上角为原点,右、下方向为正方向的坐标系。首先,frame和bounds属性值都有x、y、width、height,x、y是共同决定view的位置,width和height决定view的大小。 接下来,我们从两个方面去区分frame和bounds的区别:
frame很简单,它的x、y就是以当前视图的父视图为参照确定当前视图的位置。实操如下: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? bounds的x、y则是当前视图左上角的坐标,并不影响当前视图的位置,但是对当前视图的子视图有影响。如下实操 ?由上图可以看出,在myView中设置bounds的x、y对myView的位置没有造成改变,但是myView的子视图myView2的位置发生了偏移。所以在我的理解中是,bounds的x、y是修改视图左上角的坐标,由原来的(0,0)修改成了(-50,-50),坐标体系就发生了改变,而子视图myView2因为是以父视图myView的坐标体系作为参考,所以会受到影响而发生相应的偏移。
frame的width、height同样很简单,就是以左上角为中心点进行大小改变。实操如下,对myView对象进行操作。 myView.frame = CGRect(x: 50, y: 100, width: 300, height: 300) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? myView.frame = CGRect(x: 50, y: 100, width: 200, height: 200) ?? ? ? ? ? ? ? ? ? ? ? ? ? ? myView.frame = CGRect(x: 50, y: 100, width: 100, height: 100) ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 未完待续...... |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 14:25:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |