一周学习总结
学习了一周的OC--UI,内容的比较简单,主要是各种控件有很多属性,常用的属性要记清楚,不常用的要知道如何找到,能看懂,知道怎么回事(度娘)。
在这里整理一下一周的学习内容
一、UiView
a.初始化方式:
initWithFrame:(CGRect)frame
b.frame:
frame就是一个矩形,该矩形就是一个结构体CGRect
CGrect: original 确定位置,包含x,y,左上点为坐标原点
size 确定大小,包含width,height
c.View的属性
bounds:边框,一个矩形(CGRect),改变bounds的orginal只会影响该视图上面子视图的位置,不会影响吱声在父视图的位置。
center:视图的中心点(CGPoint)
backgroundColor:视图的背景颜色,属性的返回类型是UIColor,
UIColor方法:[UIColor colorWithRed:0~1 Green:0~1 Blue:0~1 alpha:0~1]
alpha:视图的透明度
(BOOL)hidden:视图是否隐藏
superView:得到该视图的父视图
subViews:得到所有子视图,返回NSArray
tag:视图的标记,父视图根据tag值得到特定子视图
d.View的常用方法
1.添加子视图
[view addSubview : subView];
2.从父视图移除
[subView removeFromSuperView];
3.视图的层级交换
[view exchangeSubviewAtIndex:<#(NSInteger)#> withSubviewAtIndex:<#(NSInteger)#>
二、UILabel
在Label上添加按钮是不可点击的
a.初始化
initWithFrame:(CGRect)frame
b.属性
1.text :呈现文字内容,返回值NSString
2.textAlignment:水平对齐方式
3.font:文字属性设置
4.textColor:文字的颜色
三、UIImageView
主要负责图片的展示
a.初始化
父类初始化:initWithFrame:(CGRect)frame
i自身初始化:nitWithImage:UIimage
UIImage:图片类型
b.属性和方法
1.添加图片:[imageView setIamge:[UIImage imageNamed:@“图片名称”]]
3.UIViewImage呈现动图
a)为imageView添加一组图片
animationImages ,返回值为数组,元素类型为UIImage
b)设置动画时长
animationDuration,单位为秒
c)动画开始和暂停
startAnimating
stopAnimating
d)动画重复次数
animationRepeatCount
四、UIButton
button的父类为UIControl,UIControl的父类为UIView。本质也是View,更偏重用户交互,而不是内容显示。
a.初始化
buttonWithType:(枚举值)UIButtonType...
b.方法
a)设置标题
[button setTitle:@“标题” forState:(枚举值)UIControlState...]
其中UIControlStateSelected状态需要button.selected属性配合
UIControlState 的类型有常态Normal,高亮HightLighted比较常用
b)设置frame
没有在初始化时设置,容易遗漏
button.frame = CGRectMake();
c)添加点击事件
[button addTarget:self action:@selector(btnAction:) forControlEnvents:(枚举值)UIControlEventTouchUpInside(单击)]
button的点击事件UIControlEventTouch类型很多,常用的单击,双击,鼠标离开,拖拽等等等。
五、UITextField
父类是UIControl,更偏重于和用户交互
a.初始化
initWithFrame:
b.方法属性
a)设置占位字符:placeHolder:返回值为NSString
b)设置textField不能输入:enabled
c)设置键盘样式:keyboardType
d)自定义键盘样式:InputView:返回类型为UIView
e)获得输入的内容的属性:text
f)回收键盘:[textField resignFirstResponder];
成为第一响应者:[textField becomeFirstRepsonder];
g)协议代理方法:UITextFieldDelegate
所有协议方法都是可选的
-(BOOL)textFieldShouldBeginEditing:(UITextField*)textField;//是否可以开始编辑
-(void)textFieldDidBeginEditing:(UITextField*);//已经进入编辑状态
-(BOOL)textFieldShouldEndEditing:(UITextField*)textField;//是否可以结束编辑
-(void)textFieldDidEndEditing:(UITextField*)textField;//已经结束编辑状态
-(BOOL)textFieldShouldReturn:(UITextField*)textField;//点击右下角return触发
五、应用程序的启动流程
—>main()
—>
UIApplicationMain(argc,argv,@“UIApplication”,NSStringFromClass([AppDelegate class]))
—>创建了整个应用程序对象,也就是UIAppcation对象
—>创建了Appdelegate对象,也就是整个应用程序代理对象
—>将应用程序的代理指定为AppDelegate对象(app.delegate = appDelegate),根据info.plist文件配置整个应用程序
—>在didFinishLaunchingWithOperations代理方法中创建主窗口和根视图控制器,如果还有其他必要设置,也可以写在
六、ViewController的生命周期
loadView()加载视图
ViewDidload()加载完毕
viewWillAppear()视图即将出现
viewDidAppear()视图已经出现
viewWillDisAppear()视图即将消失
viewDidDisAppear()视图已经消失
dealloc()销毁