iOS view的frame和bounds之解惑

frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)

bounds:该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统,就相当于ViewB自己的坐标系统,以0,0点为起点)

center:该view的中心点在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)

二、demo演示:

- (void)testFrameWithBounds

{

UIView *view1 = [[UIViewalloc] initWithFrame:CGRectMake(20,80, 280,250)];

[view1 setBounds:CGRectMake(-20, -100,280, 250)];

view1.backgroundColor = [UIColorredColor];

[self.viewaddSubview:view1];//添加到self.view

NSLog(@"view1 frame:%@========view1 bounds:%@",NSStringFromCGRect(view1.frame),NSStringFromCGRect(view1.bounds));

UIView *view2 = [[UIViewalloc] initWithFrame:CGRectMake(0,0, 100,100)];

view2.backgroundColor = [UIColoryellowColor];

[view1 addSubview:view2];//添加到view1上,[此时view1坐标系左上角起点为(-20,-20)]

NSLog(@"view2 frame:%@========view2 bounds:%@",NSStringFromCGRect(view2.frame),NSStringFromCGRect(view2.bounds));

}

// 控制台打印:

$:view1 frame:{{20, 80}, {280, 250}}========view1 bounds:{{-20, -100}, {280, 250}}

$: view2 frame:{{0, 0}, {100, 100}}========view2 bounds:{{0, 0}, {100, 100}}

试验得知结论:

1.  bounds 的默认的原点是{0, 0}。

2. bounds 原点是可以修改的。setBounds。{-20, -100},修改的是自己的bounds 的原点。影响的是子视图的位置。

(0046) iOS开发之View的frame和bounds之解惑相关推荐

  1. ios开发之UIView的frame、bounds跟center属性的区别(附图)

    博文暂时想到什么写什么,不顺理成章,不顺章成篇. 先看几个概念 坐标点Poit:向右侧为X轴正方向的值x,原点下侧为Y轴正方向的值y 大小Size:由宽度width和高度height构成,表示一个矩形 ...

  2. ios开发之View属性hidden, opaque, alpha, opacity的区别

    发表于2016/5/6 11:52:47  472人阅读 分类: iOS 一.alpha 液晶显示器是由一个个的像素点组成的,每个像素点都可以显示一个由RGBA颜色空间组成的一种色值.其中的A就表示透 ...

  3. IOS开发之CALayer基本属性和使用

    IOS开发之CALayer基本属性和使用 // // ViewController.m // CALayer // // Created by 鲁军 on 2021/2/21. //#import & ...

  4. iOS开发之Xcode常用调试技巧总结

    转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...

  5. 图片轮播c语言,IOS开发之UIScrollView实现图片轮播器的无限滚动

    IOS开发之UIScrollView实现图片轮播器的无限滚动 简介 在现在的一些App中常常见到图片轮播器,一般用于展示广告.新闻等数据,在iOS内并没有现成的控件直接实现这种功能,但是通过UIScr ...

  6. iOS开发之UI开发(UITableView)

    UITableView 继承自UIScrollView,性能极佳 UITableView的两种样式 UITableViewStylePlain列表样式 UITableViewStyleGrouped ...

  7. iOS开发之AVKit框架使用

    2019独角兽企业重金招聘Python工程师标准>>> iOS开发之AVKit框架使用 一.引言 在iOS开发框架中,AVKit是一个非常上层,偏应用的框架,它是基于AVFounda ...

  8. (0045) iOS 开发之MBProgressHUD 源码学习

    (0045) iOS 开发之MBProgressHUD 源码学习 第一部分:学习所得和分析线程 1.  学习到了kvo 的使用 和屏幕方向的旋转判断. 2. 如果调起这个 HUD 的方法不是在主线程调 ...

  9. ios开发之plist 的文件的读写以及沙盒容器路径打印

    ios开发之plist 的文件的读写以及沙盒容器路径打印 核心代码在这里 // // ViewController.m // 21-plist存储和沙盒路径 // // Created by 鲁军 o ...

最新文章

  1. 大球分析系统_烧成系统如何提高熟料后期强度
  2. 原文件内容更新及备份,特殊标量$^I和@ARGV学习笔记
  3. GirlFriendNotFoundException异常是怎样处理的?
  4. IPv6扩展头部 (一) 扩展头部格式、类型与扩展选项
  5. ValueError: invalid literal for int() with base 10 与数据类型有关的转换报错
  6. unity3d 2D版本见缝插针demo
  7. 我的第一个wp8小程序
  8. python取字符串一部分_python,如何获取字符串中的子字符串,部分字符串
  9. atitit.404错误的排查流程总结vOa6
  10. 【Linux学习010】算数运算、文件测试、字符测试、位置变量和特殊变量
  11. 如何双击连上校园网NCUWLAN?---bat+Python3给出了可行性答案
  12. 方法重写与方法重载的区别详解
  13. wifi认证源码html,openwrt 实现本地wifidog简单认证,认证端纯html
  14. canvas初体验-图片上画方框
  15. web4.0之万能密码登录
  16. ubuntu 的 arm 版本及其仿真
  17. win10系统装服务器2008蓝屏,升级安装Win10正式版后出现蓝屏怎么办?Win10蓝屏原因分析及解决方法...
  18. python求excel平均数_#python抓取excel表格数据#使用python3读取处理excel表的数据内容如何对内容求平均值...
  19. 工具——ultraedit常用技巧
  20. YY一下VR游戏的潜入玩法

热门文章

  1. rocketmq源码解析之name启动(一)
  2. Elasticsearch分布式一致性原理剖析(一)-节点篇
  3. 一切尽显眼前:如何预防在虚拟化环境中丢失可视性和安全性
  4. python模块之HTMLParser之穆雪峰的案例(理解其用法原理)
  5. 在可编辑div中插入文字或图片的问题解决思路
  6. 单向链表的有关操作(链式存储结构)
  7. NotePad++ 相关插件
  8. 7.1.3 TimePicker结合案例详解
  9. VMware虚拟网络相关知识
  10. C#设计模式之享元模式(Flyweight)