首页 > 代码库 > 第一天 第一个应用
第一天 第一个应用
退出键盘:
resignFirstResponder
当叫出键盘的那个控件(第一响应者)调用这个方法时,就能退出键盘
endEditing
只要调用这个方法的控件内部存在第一响应者,就能退出键盘
为了便于开发者打造各式各样的优秀App,UIKit框架提供了非常多功能强大又易用的UI控件
以下列举一些在开发中可能用得上的UI控件:
UIButton 按钮
UILabel 文本标签
UITextField 文本输入框
UIImageView 图片显示
UIProgressView 进度条
UISlider 滑块
UISwitch 开关
UISegmentControl 选项卡
UIActivityIndicator 圈圈
UIAlertView 对话框(中间弹框)
UIActionSheet 底部弹框
UIScrollView 滚动的控件
UIPageControl 分页控件
UITextView 能滚动的文字显示控件
UITableView 表格
UICollectionView 九宫格
UIPickerView 选择器
UIDatePicker 日期选择器
UIWebView 网页显示控件
UIToolbar 工具条
UINavigationBar导航条
… …
UIView的常见属性
@property(nonatomic,readonly) UIView *superview;
获得自己的父控件对象
@property(nonatomic,readonly,copy) NSArray *subviews;
获得自己的所有子控件对象
@property(nonatomic) NSInteger tag;
控件的ID(标识),父控件可以通过tag来找到对应的子控件
@property(nonatomic) CGAffineTransform transform;
控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
@property(nonatomic) CGRect frame;
控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
l可以定义控件的位置(origin)和大小(size)
@property(nonatomic) CGRect bounds;
控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
可以定义控件的大小(size)
@property(nonatomic) CGPoint center;
控件中点的位置(以父控件的左上角为坐标原点)
可以定义控件的位置(center)
- (void)addSubview:(UIView *)view;
添加一个子控件view
- (void)removeFromSuperview;
从父控件中移除
- (UIView *)viewWithTag:(NSInteger)tag;
根据一个tag标识找出对应的控件(一般都是子控件)
OC语法规定:不允许直接修改对象的结构体属性的成员
动画的实现
n简易动画大致有2种方式:
头尾式
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView commitAnimations];
Block式
[UIView animateWithDuration:0.5 animations:^{
/** 需要执行动画的代码 **/
}];
图形的形变
利用transform属性可以修改控件的位移(位置)、缩放、旋转
创建一个transform属性
CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
(注意:angle是弧度制,并不是角度制)
在某个transform的基础上进行叠加
CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
清空之前设置的transform属性
view.transform = CGAffineTransformIdentity;
第一天 第一个应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。