iOS开发 CGRect常见方法和几个CGRect函数
2016-09-01 16:03
197 查看
主题:CGRect,每个视图都使用一个边框定义其界限。这个边框指定了视图的轮廓:位置、宽度和高度
内容:对于边框,通常表示由原点(CGPoint,x和y)和大小(CGSize,宽度和高度)组成的CGRect矩形。下面简单描述。
1、CGRect
a、CGRect结构在屏幕上定义了一个矩形,它包含原点(rect.origin)和大小(rect.size)。需要了解以下CGRect函数。
b、CGRectMake(origin.x,origin.y,size.width,size.height)在代码中定义矩形。
c、NSStringFromCGRect(someCGRect)把CGRect结构转变为格式化字符串。
d、CGRectFromString(aString)由字符串表示转化出矩形。
e、CGRectInset(aRect)用来创建较小或较大的矩形(中心点相同)。使用正的内嵌值表示较小的矩形,使用负的内嵌值表示较大的矩形。
f、CGRectIntersectsRect(rect1,rect2)可以判断矩形结构是否交叉,两个矩形对象是否重叠。
g、CGRectZero是一个高度和宽度为0,位于(0,0)的矩形常量。需要创建边框但还不确定边框大小或位置时,可以使用此常量。
2、CGPoint和CGSize
CGPoint通过x和y坐标定义,使用CGPointMake(x,y)创建点。CGSize包括宽度和高度,使用CGSizeMake(width,height)创建大小。虽然这个两个结构看上去相同(两个浮点值),但iPhoneSDK对二者有所区别。点表示位置,大小表示程度值。
与矩形相同,可以将它们与字符串进行相互转换,可以用如下函数:NSStringFromCGPoint()、NSStringFromCGSize()、CGSizeFromString()和CGPointFromString()。
3、定义位置
可以通过设置中心点(CGPoint)或边界(CGRect)定义视图的位置。与边框相同,视图的边界使用它自己的坐标系来反映视图的边框。
在实际应用中,边界的原点为(0.0,0.0),大小是它的宽度和高度。
当希望移动视图或重新调整视图大小时,可以更新其边框的原点、中心点或大小,不需要担心显示或隐藏的矩形部分,iPhone将负责完成重新绘图。这允许将视图作为对象对待,并将呈现问题委托给CocoaTouch。例如[setView setFrame:CGRectMake(0.0,50.0,100,40)];
4、转换
标准CoreGraphics调用会实时转换视图。举例来说,可以应用剪辑、旋转或其他平面几何效果。CocoaTouch支持一整套仿射转换(转换、旋转、缩放和倾斜等)。任何UIView子类的drawRect:方法都提供通过低级CoreGraphics调用进行绘图的入口点。
说明:在调用CoreGraphics函数时,记住Quartz从左下方建立坐标系,而UIView的原点位于左上方。
5、其他视图特征
除了物理屏幕布局之外,还可以设置以下视图特征。
a、每个视图都有一个半透明要素(alpha),其值介于不透明和透明之间。可以通过[myView setAlpha:value]来调整它,其alpha值介于0.0(完全透明)和1.0(完全不透明)之间。
b、可以为视图背景指定一个颜色。[myView setBackgroundColor:[UIColor redColor]]可将视图设置为红色。
6、视图布局
对于当前发布的iPhone,无论使用横向还是纵向模式,位于屏幕顶部的标准状态栏都占用20像素的高度。要查询状态栏边框,可以调用[[UIApplication sharedApplication] statusBarFrame]。
如果更愿意释放这20像素的屏幕空间,则可以完全隐藏状态栏,使用此UIApplication调用:[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO],或者在应用程序的Info.plist文件中将UIStatusBarHidden设置为<true/>。
要仅在横向模式下运行应用程序,可以将状态栏方向设置为横向。如果计划隐藏状态栏,也应执行此操作(即[[UIApplication sharedApplication] setStatusBarOrientation:UIInEnterfaceOrientationLandscapeRight]),这将强制窗口并排显示并生成正确的横向键盘。
默认情况下,UINavigationBar、UIToolbar和UITabBar对象的高度均为44像素。使用这些数字计算iPhone屏幕上的可用空间,在未使用Interface Builder的布局工具时对应用程序进行布局。
7、CGRect函数
a、CGRectOffset使用从源CGRect偏移到原点来创建矩形
float offset = 25.0;
CGRect r1 = CGRectMake(100,100,100,100);
CGRect r2 = CGRectOffset(r1,offset,offset);
b、CGRectIntersectsRect允许我们确定两个矩形是否相交
float offset = 25.0;
CGRect r1 = CGRectMake(100,100,100,100);
CGRect r2 = CGRectMake(150,150,100,100);
if(CGRectIntersectsRect(r1,r2)){
NSLog(@"intersecting");
}
c、NSStringFromCGRect可以用来把CGRect显示到控制台
CGRect r1 = CGRectMake(100,100,100,100);
NSLog(@"rect:%@",NSStringFromCgRect(r1));
同样,CGRectFromString允许我们根据一个字符创建一个CGRect:
NSString *r = @"{0,0},{100,100}";
CGRect r1 = CGRectFromString(r);
内容:对于边框,通常表示由原点(CGPoint,x和y)和大小(CGSize,宽度和高度)组成的CGRect矩形。下面简单描述。
1、CGRect
a、CGRect结构在屏幕上定义了一个矩形,它包含原点(rect.origin)和大小(rect.size)。需要了解以下CGRect函数。
b、CGRectMake(origin.x,origin.y,size.width,size.height)在代码中定义矩形。
c、NSStringFromCGRect(someCGRect)把CGRect结构转变为格式化字符串。
d、CGRectFromString(aString)由字符串表示转化出矩形。
e、CGRectInset(aRect)用来创建较小或较大的矩形(中心点相同)。使用正的内嵌值表示较小的矩形,使用负的内嵌值表示较大的矩形。
f、CGRectIntersectsRect(rect1,rect2)可以判断矩形结构是否交叉,两个矩形对象是否重叠。
g、CGRectZero是一个高度和宽度为0,位于(0,0)的矩形常量。需要创建边框但还不确定边框大小或位置时,可以使用此常量。
2、CGPoint和CGSize
CGPoint通过x和y坐标定义,使用CGPointMake(x,y)创建点。CGSize包括宽度和高度,使用CGSizeMake(width,height)创建大小。虽然这个两个结构看上去相同(两个浮点值),但iPhoneSDK对二者有所区别。点表示位置,大小表示程度值。
与矩形相同,可以将它们与字符串进行相互转换,可以用如下函数:NSStringFromCGPoint()、NSStringFromCGSize()、CGSizeFromString()和CGPointFromString()。
3、定义位置
可以通过设置中心点(CGPoint)或边界(CGRect)定义视图的位置。与边框相同,视图的边界使用它自己的坐标系来反映视图的边框。
在实际应用中,边界的原点为(0.0,0.0),大小是它的宽度和高度。
当希望移动视图或重新调整视图大小时,可以更新其边框的原点、中心点或大小,不需要担心显示或隐藏的矩形部分,iPhone将负责完成重新绘图。这允许将视图作为对象对待,并将呈现问题委托给CocoaTouch。例如[setView setFrame:CGRectMake(0.0,50.0,100,40)];
4、转换
标准CoreGraphics调用会实时转换视图。举例来说,可以应用剪辑、旋转或其他平面几何效果。CocoaTouch支持一整套仿射转换(转换、旋转、缩放和倾斜等)。任何UIView子类的drawRect:方法都提供通过低级CoreGraphics调用进行绘图的入口点。
说明:在调用CoreGraphics函数时,记住Quartz从左下方建立坐标系,而UIView的原点位于左上方。
5、其他视图特征
除了物理屏幕布局之外,还可以设置以下视图特征。
a、每个视图都有一个半透明要素(alpha),其值介于不透明和透明之间。可以通过[myView setAlpha:value]来调整它,其alpha值介于0.0(完全透明)和1.0(完全不透明)之间。
b、可以为视图背景指定一个颜色。[myView setBackgroundColor:[UIColor redColor]]可将视图设置为红色。
6、视图布局
对于当前发布的iPhone,无论使用横向还是纵向模式,位于屏幕顶部的标准状态栏都占用20像素的高度。要查询状态栏边框,可以调用[[UIApplication sharedApplication] statusBarFrame]。
如果更愿意释放这20像素的屏幕空间,则可以完全隐藏状态栏,使用此UIApplication调用:[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO],或者在应用程序的Info.plist文件中将UIStatusBarHidden设置为<true/>。
要仅在横向模式下运行应用程序,可以将状态栏方向设置为横向。如果计划隐藏状态栏,也应执行此操作(即[[UIApplication sharedApplication] setStatusBarOrientation:UIInEnterfaceOrientationLandscapeRight]),这将强制窗口并排显示并生成正确的横向键盘。
默认情况下,UINavigationBar、UIToolbar和UITabBar对象的高度均为44像素。使用这些数字计算iPhone屏幕上的可用空间,在未使用Interface Builder的布局工具时对应用程序进行布局。
7、CGRect函数
a、CGRectOffset使用从源CGRect偏移到原点来创建矩形
float offset = 25.0;
CGRect r1 = CGRectMake(100,100,100,100);
CGRect r2 = CGRectOffset(r1,offset,offset);
b、CGRectIntersectsRect允许我们确定两个矩形是否相交
float offset = 25.0;
CGRect r1 = CGRectMake(100,100,100,100);
CGRect r2 = CGRectMake(150,150,100,100);
if(CGRectIntersectsRect(r1,r2)){
NSLog(@"intersecting");
}
c、NSStringFromCGRect可以用来把CGRect显示到控制台
CGRect r1 = CGRectMake(100,100,100,100);
NSLog(@"rect:%@",NSStringFromCgRect(r1));
同样,CGRectFromString允许我们根据一个字符创建一个CGRect:
NSString *r = @"{0,0},{100,100}";
CGRect r1 = CGRectFromString(r);
相关文章推荐
- <iOS>CGRect常见方法和几个CGRect函数
- ios基础之关闭输入框的几种常见方法集锦 分类: ios开发 2015-04-01 19:33 134人阅读 评论(0) 收藏
- Web开发常见的几个漏洞解决方法
- iOS开发中常见的数据持久化的方法
- 最完整苹果IOS个人开发账号升级方法-个人开发账号升级为公司开发者账号常见误区
- 转:用ATL库开发COM组件常见的几个问题 (ie不响应事件,解决悲剧的方法)
- 记录几个IOS开发过程中Pod命令的常见问题解决方案
- Web应用开发过程中常见的几个中文问题及其解决方法
- iOS开发:AutoLayout关于更新的几个方法
- Android开发中几个常见错误处理方法
- ios开发之--CGRectGetXxx方法图解 和代码NSLog输出值
- Web开发常见的几个漏洞解决方法
- 【iOS开发】25种常见的APP性能优化方法
- Web开发常见的几个漏洞解决方法
- iOS开发中几个重要的方法
- iOS开发常见错误及其解决方法(长期更新)
- IOS开发---菜鸟学习之路--(六)-UITableView几个方法的使用说明
- Web开发常见的几个漏洞解决方法
- Web开发常见的几个漏洞解决方法
- android开发中几个常见的错误及解决方法