转自 http://blog.sina.com.cn/s/blog_76f3236b01013zmk.html
1、CGRectInset
CGRect CGRectInset (
CGRect rect,
CGFloat dx,
CGFloat dy
);
该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。
图中的每一个矩形都是以上一个矩形作为参考矩形。所以下一矩形(比如黄色矩形对绿色矩形来说是下一个矩形)都比上一个矩形要小。 具体小多少都是要参照dx和dy来判定的。
2、CGRectOffset
CGRect CGRectOffset(
CGRect rect,
CGFloat dx,
CGFloat dy
);
相对于源矩形原点rect(左上角的点)沿x轴和y轴偏移, 再rect基础上沿x轴和y轴偏移
float offset = 125.0;
CGRect r1 = CGRectMake(100, 100, 5, 5);
CGRect r2 = CGRectOffset(r1, offset, offset);
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在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)
相关推荐
XCMultiTableView *tableView = [[XCMultiTableView alloc] initWithFrame:CGRectInset(self.view.bounds, 5.0f, 5.0f)]; tableView.leftHeaderEnable = YES; tableView.datasource = self; [self.view
5. CG框架的更多函数:例如CGRectInset用于调整矩形的位置和大小,以及CGRectIntersectsRect用于检测两个矩形是否相交。这些函数对于布局设计和碰撞检测等场景非常有用。 6. UIView和UIWindow的使用:文档中也提到...
开发者可以在这个方法内使用Core Graphics框架来执行低级别的图形绘制,如线条、形状、颜色填充等。 在创建“靶心”视图时,我们需要定义一个继承自UIView的子类,并重写`drawRect:`方法。首先,确保在你的`.h`...
根据给定的信息,我们可以整理出一系列与iOS开发相关的高级知识点,包括UI设计、动画处理、网络请求、多线程管理等方面。以下是对这些知识点的详细解释: ### UI设计 #### UITableView - **基础概念**:...
由于提供的文件内容部分含有乱码和格式问题,我将尽量提取并解释其中可识别的iOS开发相关知识点。...在实际iOS开发中,这些概念和技术是构建应用的基础,涉及到界面布局、交互逻辑和UI定制等方面。
### iOS进阶指南:深入解析叶孤城的iOS高级...从UI设计到网络通信,从动画效果到模型设计,每个知识点都是经过精心挑选和整理的。希望这些内容能够帮助开发者们进一步提升自己的技能水平,并在实际项目中发挥重要作用。
该文档是作者从事iOS开发一年以来,针对工作中常用到的200多个iOS知识点进行总结整理的成果。文档中不仅包含了知识点的简要介绍,还提供了可运行的示例代码,这对于iOS开发者来说是一份非常宝贵的学习资料。 #### ...
- `CGRectInset` 用于创建一个新的矩形,新矩形相对于原始矩形向内或向外偏移,两个参数分别表示内缩的水平和垂直距离。 - `CGRectIntersectsRect` 检查两个矩形是否相交。 - `CGRectZero` 是一个常量,表示宽度...
在iOS开发中,Core Graphics框架提供了基础的图形处理能力,包括对矩形的创建、转换、比较等操作。`CGRect`是表示矩形的结构体,其包含了矩形的原点坐标和尺寸。 **代码示例**: ```objective-c CGRect frame = ...
`CGRectInset`用于创建一个新的矩形,它的边距会根据指定的值内缩或外扩。 判断两个矩形是否相交或重叠,可以使用`CGRectIntersectsRect`函数,例如: ```swift if (CGRectIntersectsRect(rect1, rect2)) { // 两...
Quartz2D不仅支持简单的线条、形状(如三角形、矩形和圆)的绘制,还能够处理文字、图像、PDF的生成与读取,以及截图和图片裁剪等功能。对于那些无法直接用UIKit框架提供的控件实现的界面设计,开发者可以借助Quartz...
[stackViewController setTouchRefusalArea:[UIBezierPath bezierPathWithRect:CGRectInset(self.view.bounds, 50, 50)]] 注册 layouters id layouter = [[SCParallaxStackLayouter alloc] init]; ...
CGRect insetRect = CGRectInset(frame, insetWidth, insetHeight); ``` - `insetWidth`和`insetHeight`用于控制新矩形相对于原矩形的大小变化。正值会使新矩形变小,负值则使其变大。 - **判断两个CGRect是否...
UIBezierPath *borderPath = [UIBezierPath bezierPathWithRect:CGRectInset(rect, -borderWidth, -borderWidth)]; [borderPath stroke]; // 更多自定义绘图代码... } ``` 在`drawRect:`中,我们首先设置了...
可以通过`CGRectInset`函数减小边界来创建内切矩形,以便留出足够的空间绘制圆角。 2. **定义圆角**: 对于每个角,可以使用`addArcWithCenter:radius:startAngle:endAngle:clockwise:`方法添加一个圆弧来形成特定...
- `CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)`:根据指定值缩小或放大矩形。 - **矩形交集判断**: `CGRectIntersectsRect(CGRect rect1, CGRect rect2)`:检查两个矩形是否相交。 ##### 3. **视图属性...
- `CGRectInset`: 创建一个新的矩形,该矩形相对于原矩形缩小或扩大,但保持相同的中心点。 - `CGRectIntersectsRect`: 检查两个矩形是否相交。 ##### 3. 设置视图的透明度与背景色 - **知识点**: 可以通过 `...