黑马程序员技术交流社区

标题: 关于Foundation框架下边界上的点是否在矩形区域内 [打印本页]

作者: 王庆功    时间: 2014-9-29 16:51
标题: 关于Foundation框架下边界上的点是否在矩形区域内
直接上代码。看有些边界上的点在,有些却不在


  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[])
  3. {

  4.     // 点(0,0)包含在矩形(0,0,10,20)中
  5.     bool b1 = CGRectContainsPoint(CGRectMake(0,0,10,20),CGPointMake(0,0));
  6.     NSLog(@"b1 = %i",b1);
  7.    
  8.     // 点(10,20)不包含在矩形(0,0,10,20)中
  9.     bool b2 = CGRectContainsPoint(CGRectMake(0,0,10,20),CGPointMake(10,20));
  10.     NSLog(@"b2 = %i",b2);
  11.    
  12.     // 点(10,0)不包含在矩形(0,0,10,20)中
  13.     bool b3 = CGRectContainsPoint(CGRectMake(0,0,10,20),CGPointMake(10,0));
  14.     NSLog(@"b3 = %i",b3);
  15.    
  16.     // 点(5,0)包含在矩形(0,0,10,20)中
  17.     bool b4 = CGRectContainsPoint(CGRectMake(0,0,10,20),CGPointMake(5,0));
  18.     NSLog(@"b4 = %i",b4);
  19.    
  20.     // 点(0,20)不包含在矩形(0,0,10,20)中
  21.     bool b5 = CGRectContainsPoint(CGRectMake(0,0,10,20),CGPointMake(0,20));
  22.     NSLog(@"b5 = %i",b5);
  23.    
  24.     // 点(0,10)包含在矩形(0,0,10,20)中
  25.     bool b6 = CGRectContainsPoint(CGRectMake(0,0,10,20),CGPointMake(0,10));
  26.     NSLog(@"b6 = %i",b6);
  27.    
  28.    
  29.    
  30.     return 0;
  31. }

复制代码

作者: lyan    时间: 2014-9-29 17:19
  1.     // 左上角
  2.     BOOL b1 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(0, 0)) ;
  3.     NSLog(@"%d",b1);
  4.     // 右上角
  5.     BOOL b2 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(10, 0)) ;
  6.     NSLog(@"%d",b2);
  7.     // 左下角
  8.     BOOL b3 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(0, 20)) ;
  9.     NSLog(@"%d",b3);
  10.     // 右下角
  11.     BOOL b4 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(10, 20)) ;
  12.     NSLog(@"%d",b4);
  13.     // 左边距中间点
  14.     BOOL b5 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(0, 10)) ;
  15.     NSLog(@"%d",b5);
  16.     // 上边距中间点
  17.     BOOL b6 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(5, 0)) ;
  18.     NSLog(@"%d",b6);
  19.     // 下边界中间点
  20.     BOOL b7 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(5, 20)) ;
  21.     NSLog(@"%d",b7);
  22.     // 右边界中间点
  23.     BOOL b8 = CGRectContainsPoint(CGRectMake(0, 0, 10, 20), CGPointMake(10, 10)) ;
  24.     NSLog(@"%d",b8);
复制代码
结果:
  1. 2014-09-29 17:11:23.447 测试[1471:80586] 1
  2. 2014-09-29 17:11:23.449 测试[1471:80586] 0
  3. 2014-09-29 17:11:23.449 测试[1471:80586] 0
  4. 2014-09-29 17:11:23.449 测试[1471:80586] 0
  5. 2014-09-29 17:11:23.449 测试[1471:80586] 1
  6. 2014-09-29 17:11:23.449 测试[1471:80586] 1
  7. 2014-09-29 17:11:23.449 测试[1471:80586] 0
  8. 2014-09-29 17:11:23.450 测试[1471:80586] 0
复制代码
通过结果可以看出,不光下边框不包含在矩形内,右边框也不包含在矩形框内。。。先回家,再看下api研究一下

作者: wanyiyuan    时间: 2014-9-30 15:44
这已经超出我的研究范围了啊,还在基础中挣扎




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2