UI概述
UI(User
Interface):用户界面,用户能够看到的各种个样页面元素。
iOS App
= 各种各样的UI控件 + 业务逻辑 + 算法。
UIWindow
window是窗口,每个App
都需要借助window将内容展现给用户看。
在IOS中,使用UIWindow类来表示窗口。通常一个应用程序只创建一个UIWindow
对象。
因为window的主要作用是呈现内容给用户。因此我们不会对window做太多操作。
在创建window的时候,需要指定window的大小。
通常window的大小(frame)与屏幕(UIScreen)的大小一致。
[[UIScreen
mainScreen] bounds]能够获取屏幕的大小。
UIView
view(视图):代表屏幕上的一个矩形区域。ios中用view来表示视图。
不同空间代表不同种类的view
iOS中所有能看到的内容的都是view或其子类。
创建视图的步骤:
1.开辟空间并初始化视图(初始化时,给出视图的位置和大小)
2.对视图做一些设置(比如:背景颜色)
3.将视图添加到window上进行显示
4.释放视图对象
frame
frame是view的重要属性,是我们做视图布局的关键,它决定了视图的大小和位置。
center.x
= frame.origin.x + frame.size.width/2;
center.y
= frame.origin.y+ frame.size.heigth/2;
center属性
描述的的是这个视图的中心点在其父视图产生的中心点的坐标值。
frame | center | |
参考系 | 父视图 | 父视图 |
两者联系 | frame.origin发生变化,center也发生变化;center发生变化,frame.origin也发生变化。center.x = frame.oingin.x+frame.size.width/2;center.y= frame.oringin.xframe.size.height; |
添加视图:
方法名 | 描述 | 实例 |
insertSubview:atIndex | 在指定的index处插入子视图 | [subview insertSubview:grayView atIndex:] |
insertSubview:aboveSubview: | 在指定的视图上添加子视图 | [superview insertSubview:grayView aboveSubview:redView]; |
insertSubview:belowSubview | 在指定的视图下面添加子视图 | [superview insertSubview:grayView belowSubview:redView]; |
管理视图层次:
方法名 | 描述 | 实例 |
bringSubviewToFront: | 把指定的子视图移动到最前面 | [superview bringSubviewToFront:redView] |
sendSubviewToBack: | 把指定的子视图移动到最后面 | [superview sendSubview ToBack:redView]; |
enchangeSubviewAtIndex:withSubviewAtIndex | 交换两个指定索引位置的子视图 | [superview exchangeSubviewAtIndex:0 withSubviewAtIndex:2]; |
removeFromSuperview | 把receiver从父视图上移除 | [redView removeFromSuperview]; |
视图的重要属性
属性名 | 描述 | 示例 |
hidden | 控制视图的显隐 | redView.hidden = YES;// 隐藏 review NO显示review |
alpha | 控制视图的不透明度(子视图也一起透明)取值范围为0—1 | redView.alpha = 0.8; |
superview | 获取本视图的父视图 | UIView *superView = [redView superView]; |
subviews | 获取本视图的所有父视图 | NSSArray *subviews = [redView subviews]; |
tag | 给视图添加标记,被加完标记的视图可以使用viewWithTag:方法取出 | redView.tag = 100;UIView *view = [superview viewWithTag:100]; |
总结:
App
靠window来呈现内容,一个程序一般只创建一个window
App只能看到的元素。都是UIView及其子类
UIView作为所有可视化控件的BaseClass
提供了许多属性和方法。显示效果控制(frame
alpha等)视图添加和移除(addSubview:)等。视图层次调整(bringSubviewToFront:等)等。
原文地址:http://9178487.blog.51cto.com/9168487/1541435