`
lizaochengwen
  • 浏览: 663324 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(原)CGRectInset、CGRectOffset、frame和dounds

 
阅读更多
1、CGRectInset

CGRect CGRectInset (
   CGRect rect,
   CGFloat dx,
   CGFloat dy
);


该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。

测试:
CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectInset(rect, 10.0, 10.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“=={{20.0, 20.0}, {80.0, 80.0}}”

CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectInset(rect, -10.0, -10.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“=={{0.0, 0.0}, {120.0, 120.0}}”


2、CGRectOffset

CGRect CGRectOffset(
        CGRect rect,
         CGFloat dx,
         CGFloat dy
);

   

相对于源矩形原点rect(左上角的点)沿x轴和y轴偏移, 再rect基础上沿x轴和y轴偏移

测试:

CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectOffset(rect, 12.0, 12.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“=={{22.0, 22.0}, {100.0, 100.0}}”


3、frame和dounds

frame和bounds是UIView中的两个属性(property)。

- (CGRect)frame
{
    return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);
}

- (CGRect)bounds
{
    return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);
}


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

分享到:
评论

相关推荐

    C语言头文件 FRAME

    C语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 FRAMEC语言头文件 ...

    Delphi中frame的使用

    Delphi 中 Frame 的使用是 Delphi 编程语言中的一种重要组件,它可以将多个控件组合成一个单一的控件,以便于在窗体中进行布局和管理。在 Delphi 中,Frame 是一个特殊的控件,它可以容纳其他控件,并且可以在窗体中...

    iOS view的frame和bounds之区别.pdf

    在iOS开发中,视图(UIView)的frame和bounds是两个非常重要的属性,它们都是CGRect类型,包含了视图的位置和大小信息。但是这两个属性在概念和使用上有所区别,了解这些差异对于开发iOS应用至关重要。 首先,frame...

    iOS KVO 监听frame

    在标题“iOS KVO 监听frame”中,我们关注的是如何使用KVO来跟踪和响应UI控件(如UIView)的frame属性变化。这在布局动画或者动态调整界面时非常有用。下面我们将深入探讨KVO的概念、如何实现以及在监听frame变化时...

    frame与contentwindow对象

    通过本文,我们将详细介绍 Frame 对象和 ContentWindow 对象的概念、区别、使用方法和实际应用场景。 Frame 对象 Frame 对象是 HTML 文档中的一个窗口对象,它可以包含一个或多个 HTML 文档。Frame 对象可以是独立...

    X-Frame-Options相关文件

    1. **渗透报告.doc** - 这可能是一份关于网络安全渗透测试的报告,详细记录了测试过程和发现的问题,其中包括X-Frame-Options头缺失或不当配置的情况。 2. **tomcat-juli-9.0.11.jar** - 这是Apache Tomcat服务器的...

    MFC源代码 FRAME2.03

    MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 FRAME2.03MFC源代码 ...

    Wpf下Frame、MDI、TabControl简单应用

    在Windows Presentation Foundation(WPF)框架中,开发者可以利用多种控件来构建用户界面,其中Frame、Multiple Document Interface (MDI) 和 TabControl 是常见的组件,用于实现丰富的交互和布局管理。下面将详细...

    dom网页frame枚举

    在这个场景中,"dom网页frame枚举"指的是利用DOM来遍历和管理网页中嵌入的frame或者iframe元素。 Frame和Iframe都是HTML中用于嵌入其他网页或资源的元素。它们允许开发者将多个独立的文档或页面组合到一个单一的...

    MFC源代码 FRAME7.03

    MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 FRAME7.03MFC源代码 ...

    frame与frame之间如何用JavaScript传值

    这些区域通常称为子框架,每个都有自己的文档和独立的滚动条。在处理涉及多个框架的交互时,有时我们需要在这些框架之间传递数据,例如使用JavaScript。本文将详细讲解如何使用JavaScript在frame与frame之间进行值的...

    WPF 实现导航通过Frame的Navigate函数实现导航

    这个简单的例子展示了如何在WPF中使用`Frame`的`Navigate`方法和`NavigationUIVisibility`属性实现无UI导航。对于初学者,这是一个很好的起点,可以帮助理解WPF中页面导航的基本工作原理。通过深入学习和实践,你...

    video_frame_crc ip源码

    本文将深入探讨“video_frame_crc”IP核心的原理及其实现,同时结合HDMI(High-Definition Multimedia Interface)和DP(DisplayPort)接口的使用场景进行讲解。 “video_frame_crc”IP是一个专门用于视频帧数据...

    frame的用法的傻瓜教程

    在IT领域,尤其是在Web开发和数据处理中,"frame"是一个重要的概念,它涉及到不同的应用场景和技术细节。本教程将引导你逐步理解并掌握frame的使用,让你能够独立地在项目中应用这一技术。 首先,我们要明确什么是...

    video2frame

    "video2frame"是一个MATLAB程序,用于将视频文件拆分成单帧图像,方便用户对每一帧进行单独处理或分析。这个程序对于那些需要在图像处理、计算机视觉或机器学习项目中利用视频数据的人来说非常实用。MATLAB作为一种...

    Delphi的Frame框架示例

    Frame(框架)实际上是一个自包含的单元,其中包含了各种控件和代码,这样的设计模式使得代码复用变得极其便捷,尤其对于那些在多个项目中频繁使用的功能模块。 在Delphi中,Frame框架的应用场景广泛,例如,你可以...

    FrameServer_2.14_汉化版

    FrameServer是一款专业的帧服务器软件,主要用于视频和图像处理领域,为用户提供高效稳定的数据传输和处理服务。这个"FrameServer_2.14_汉化版"是原版FrameServer 2.14的中文版本,由汉化作者“十分诱惑”进行翻译和...

    video2frame20200106.rar

    【标题】"video2frame20200106.rar"是一个压缩包,其中包含了一个用于处理视频的工具,该工具使用了Python的PyQT5库和OpenCV库。这个工具的主要功能是对视频进行抽帧、裁剪,并将图片序列再转化为视频。 【描述】中...

    A-Frame引擎开发:A-Frame基础入门教程+WebVR与A-Frame的关系+A-Frame基本概念与术语+A-Frame安装与环境搭建+A-Frame组件系统详解等教程

    A-Frame引擎开发:A-Frame基础入门_(1).A-Frame概述.docx A-Frame引擎开发:A-Frame基础入门_(2).WebVR与A-Frame的关系.docx A-Frame引擎开发:A-Frame基础入门_(3).A-Frame基本概念与术语.docx A-Frame引擎...

    frame之间进行参数传递例子

    本篇将详细探讨如何在“frame”之间进行参数传递,以及相关的源码分析和技术工具的应用。 标题中的“frame”通常指的是程序中的帧或者视图,尤其在Web开发中,它可能指的是HTML框架或JavaScript中的帧对象。在多层...

Global site tag (gtag.js) - Google Analytics