UI基础

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属性
描述的的是这个视图的中心点在其父视图产生的中心点的座标值。


framecenter
参考系父视图父视图
两者联系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—1redView.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:等)等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章