博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS UIView 详解
阅读量:2393 次
发布时间:2019-05-10

本文共 2266 字,大约阅读时间需要 7 分钟。

UIView类中定义了三个属性,分别是frame、bounds与center属性:
@property(nonatomic) CGRect frame;  
@property(nonatomic) CGPoint center;
@property(nonatomic) CGRect bounds;  
frame属性指的是视图在其父视图坐标系中的位置与尺寸,在创建视图时,需要在初始化方法中指定视图的frame,这样创建视图之后,通过 addSubview: 方法就可以将创建的子视图放置在父视图的指定位置,并以指定的尺寸显示出来
center属性就是指定视图的中心点在其父视图坐标系中的位置坐标,简单讲,center属性就定义了当前视图在父视图中的位置
bounds属性指的是视图在其自己的坐标系中的位置与尺寸
UIView视图管理方法:
// 加一个视图到一个视图里面
addSubview
// 将一个视图移到前面
bringSubviewToFront
// 将一个视图推送到背后
sendSubviewToBack
// 把视图移除
removeFromSuperview
// 插入视图 并指定索引
insertSubview:atIndex
// 插入视图在某个视图之上  
insertSubview:aboveSubview
// 插入视图在某个视图之下  
insertSubview:belowSubview
// 交换两个位置索引的视图
exchangeSubviewAtIndex:withSubviewAtIndex
UIView设置标记和检索视图:
myview.tag = 1001;
[self.view viewWithTag:1001];
(UILable *)[self.view.window viewWithTag:1001];
视图的几何特征:
//框架  
struct CGPoint {
  CGFloat x;
  CGFloat y;
};
typedef struct CGPoint CGPoint;
/* Sizes. */
struct CGSize {
  CGFloat width;
  CGFloat height;
};
typedef struct CGSize CGSize;
struct CGRect {
  CGPoint origin;
  CGSize size;
};
typedef struct CGRect CGRect;
CGRect rect = CGRectMake(0,0,320,480);  
UIView *view = [[UIView allow]initWithFrame:rect];  
//将String转成CGPoint 如 @”{3.0,2.5}”    {x,y}  
CGPoint CGPointFromString (  
   NSString *string  
);  
//将String转成CGRect  @”{
{3,2},{4,5}}”  {
{x,y},{w, h}}  
CGRect CGRectFromString (  
   NSString *string  
);  
//将String转成CGSize @”{3.0,2.5}” {w, h}  
CGSize CGSizeFromString (  
   NSString *string  
);  
//CGPoint转成NSString  
NSString * NSStringFromCGPoint (  
   CGPoint point  
);  
//CGRect转成NSString  
NSString * NSStringFromCGRect (  
   CGRect rect  
);  
//CGSize转成NSString  
NSString * NSStringFromCGSize (  
   CGSize size  
);  
//对一个CGRect进行修改 以这个的中心来修改 正数表示更小(缩小) 负数表示更大(放大)  
CGRect CGRectInset (  
   CGRect rect,  
   CGFloat dx,  
   CGFloat dy  
);  
//判断两个矩形是否相交  
bool CGRectIntersectsRect (  
   CGRect rect1,  
   CGRect rect2  
);  
//初始为0的  
const CGPoint CGPointZero;  
const CGRect CGRectZero;  
const CGSize CGSizeZero;  
//创建CGPoint  
CGPoint CGPointMake (  
   CGFloat x,  
   CGFloat y  
);  
//创建CGRect  
CGRect CGRectMake (  
   CGFloat x,  
   CGFloat y,  
   CGFloat width,  
   CGFloat height  
);  
//创建CGSize  
CGSize CGSizeMake (  
   CGFloat width,  
   CGFloat height  
);
UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow
iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了
一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow。也就说,没有UIWindow,就看不见任何UI界面 

转载地址:http://nsgab.baihongyu.com/

你可能感兴趣的文章
hdu 1166 敌兵布阵(求区间的和,单节点更新)
查看>>
hiho一下 第四十四周 题目1 : 博弈游戏·Nim游戏
查看>>
poj2299 Ultra-QuickSort(线段树计数问题)
查看>>
hdu4565 So Easy!(矩阵快速幂)
查看>>
poj2528 Mayor's posters(线段树,离散化)
查看>>
线段树多lazy-tag(两个)
查看>>
hdu4578(三个更新操作,三个求值操作)
查看>>
并查集(初级)小结
查看>>
Treap
查看>>
相似图片搜索——感知哈希算法
查看>>
编译原理 词法分析
查看>>
计算机系统结构 计算机系统结构的基本概念
查看>>
计算机系统结构 计算机指令集结构
查看>>
计算机系统结构 输入/输出系统
查看>>
信息安全技术及应用 常规加密技术
查看>>
02-线性结构1 两个有序链表序列的合并
查看>>
HDU 1080 DP LCS
查看>>
HDU 3308 线段树+区间合并
查看>>
ASP.NET 入手页面控件及事件触发
查看>>
HDU 4123 树状DP+RMQ
查看>>