iOS CGRectInset、CGRectOffset详解
2015-08-17 11:16
666 查看
CGRectInset
先看它的定义,是这个样子:CG_EXTERN CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)。它是以rect为中心,根据dx,dy的值来扩大或者缩小,负值为扩大,正直为缩小。可以他们理解成为宽度和高度的偏移量。
为了更好的理解,我们来看下具体的实现:
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view1.backgroundColor = [UIColor blackColor];
[self.window addSubview:view1];
UIView *view2 = [[UIView alloc]init];
view2.frame = CGRectInset(view1.frame, 0, 20);
view2.backgroundColor = [UIColor yellowColor];
[self.window addSubview:view2];
view1为黑色,view2为黄色,是以view1的rect为中心,宽度不变,高度缩小20个像素。运行结果如下图:
CGRectOffset
先看它的定义,是这个样子的:CG_EXTERN CGRect
CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy),它是以rect左上角为基点,向X轴和Y轴偏移dx和dy像素。
我们来看下实现代码:
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view1.backgroundColor = [UIColor blackColor];
[self.window addSubview:view1];
UIView *view2 = [[UIView alloc]init];
view2.frame = CGRectOffset(view1.frame, 20, 20);
view2.backgroundColor = [UIColor yellowColor];
[self.window addSubview:view2];
view1为黑色,view2以view1的左上角为基点,向X轴和Y轴各偏移20个像素。下面为实现的截图:
先看它的定义,是这个样子:CG_EXTERN CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)。它是以rect为中心,根据dx,dy的值来扩大或者缩小,负值为扩大,正直为缩小。可以他们理解成为宽度和高度的偏移量。
为了更好的理解,我们来看下具体的实现:
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view1.backgroundColor = [UIColor blackColor];
[self.window addSubview:view1];
UIView *view2 = [[UIView alloc]init];
view2.frame = CGRectInset(view1.frame, 0, 20);
view2.backgroundColor = [UIColor yellowColor];
[self.window addSubview:view2];
view1为黑色,view2为黄色,是以view1的rect为中心,宽度不变,高度缩小20个像素。运行结果如下图:
CGRectOffset
先看它的定义,是这个样子的:CG_EXTERN CGRect
CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy),它是以rect左上角为基点,向X轴和Y轴偏移dx和dy像素。
我们来看下实现代码:
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view1.backgroundColor = [UIColor blackColor];
[self.window addSubview:view1];
UIView *view2 = [[UIView alloc]init];
view2.frame = CGRectOffset(view1.frame, 20, 20);
view2.backgroundColor = [UIColor yellowColor];
[self.window addSubview:view2];
view1为黑色,view2以view1的左上角为基点,向X轴和Y轴各偏移20个像素。下面为实现的截图:
相关文章推荐
- iOS7坐标问题
- iOS学习笔记(一)
- iOS开发之学前了解
- 关于IOS中的self关键字
- iOS学习路线图
- IOS开发之tableView的刷新以及property属性的用法
- 用HTML5/CSS3/JS开发Android/IOS应用
- Windows Server 2016预览版10512中文ios镜像泄露
- iOS 9对比iOS 8 用户界面究竟新在哪?
- iOS获取当前网页的页面元素
- iOS学习之NSBundle介绍和使用
- ios报错--pie can only be used when targeting iOS 4.2 or later clang: error: linker command failed with
- IOS 开发 打电话,发短信,调用系统组件
- iOS 9之WatchKit for WatchOS 2
- iOS 9之WatchKit for WatchOS 2
- iOS svn管理不能上传.a文件的问题
- iOS给图片加标签(原创)
- IOS7适配
- iOS第三方开源库的吐槽和备忘
- IOS命名