ios 界面开发中的常见元素
界面开发中的 CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)简单记录
- 定义
/* Points. */ struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint;
/* Sizes. */ struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize;
/* Rectangles. */ struct CGRect { CGPoint origin;//偏移是相对父窗口的 CGSize size; }; typedef struct CGRect CGRect;
- 常用的函数
CGPoint CGPointMake ( CGFloat x, CGFloat y );
CGRect CGRectMake ( CGFloat x, CGFloat y, CGFloat width, CGFloat height );
定好origin(起点,左上角),宽与高,就可以画出一个位置与大小确定的rect(矩形)这个函数被声明为内联函数
CGSize CGSizeMake ( CGFloat width, CGFloat height );
CGrect screenBounds = [ [UIScreen mainScreen]bounds];//返回的是带有状态栏的Rect CGRect viewBounds = [ [UIScreen mainScreen]applicationFrame];//不包含状态栏的Rect
float offset = 25.0; CGRect r1 = CGRectMake(100, 100, 100, 100); CGRect r2 = CGRectOffset(r1, offset, offset);
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"); }
CGRect r1 = CGRectMake(100, 100, 100, 100); NSLog(@"rect:@%",NSStringFromCGRect(r1));
NSString *r = @"{0,0},{100,100}"; CGRect r1 = CGRectFromString(r);
UIView* myView =[[ UIView alloc]initWithFrame:CGRectMake(0.0,0.0,200.0,400.0)]; //这里创建了一块画布,定义了相对于父窗口的位置, 以及大小。
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; self.window.backgroundColor = [UIColor grayColor]; //给window设置一个背景色
- 转换
- 状态栏
无论使用横向还是纵向模式,位于屏幕顶部的标准状态栏都占用20像素的高度。要查询状态栏边框,可以调用[[UIApplication sharedApplication] statusBarPrame]。
如果更愿意释放这20像素的屏幕空间,则可以完全隐藏状态栏。使用此UIApplication调用: [UIApplication sharedApplication]setStatusBarHidden:YES animated:NO]。或者,在应用程序的Info.plist文件中将UIStatusBarHidden设置为<true/>。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。