iOS UI初级-UIVew与UIWindow
来源:互联网 发布:键盘美化软件下载 编辑:程序博客网 时间:2024/05/01 08:35
1.UIKit是一个提供了在iOS上实现图形,事件驱动程序的框架
主要类别
①UIView是视图的基类
②UIViewController视图控制器的基类
③UIResponder表示一个可以接受触摸屏上的触摸事件的对象
ios不要设置多个window
2.UIWindow的创建
①UIScreen对象可以充当iOS设备物理屏幕的替代者
②UIWindow有三个优先级
UIWindowLevelAltert 优先级最高
UIWindowLevelNormal 优先级最低,默认
clearColor透明色
3.UIView的创建与使用
①视图:在iphone上看到的控件大部分都是UIview子类
②通常是UIview的一个对象,表示屏幕上的一块矩形区域
③一个视图也可以作为其他视图的子视图,同时决定着这些视图的位置和大小
MVC是框架模式,不是设计模式
Frame和Bounds
Frame是以父视图为起点,得出自己的位置信息
扩展:修改view的bounds,一般都不去修改它,自己的横纵坐标不会改变,但是会改变子视图的坐标
创建的两种方式
修改frame两种方法
创建视图
insertSubview:如果插入的视图已经存在视图数组中,则只是交换视图的下标位置,如果不存在视图数组中,则把视图添加到数组中,并持有这块空间。
通过标示找到数组
4.坐标系统变换
CGAffineTransformScale 对视图比例缩放
CGAffineTransformTranslate对视图原来的位置做平移
CGAffineTranformRotate 对试图做变焦旋转
UIview对象支持动画的属性有以下几个:
UIView属性动画-代理设置
动画属性参数
UIView *view = [self.windowviewWithTag:2015];
//开始动画
[UIViewbeginAnimations:@"hehehe"context:NULL];
//开始动画
[UIViewbeginAnimations:@"hehehe"context:NULL];
//设置动画的属性
//设置动画持续的时间 setAnimationDuration
[UIViewsetAnimationDuration:2];
//设置动画的代理 setAnimationDelegate
[UIViewsetAnimationDelegate:self];
//设置动画的代理 setAnimationDelegate
[UIViewsetAnimationDelegate:self];
//设置动画的加速方式 setAnimationCurve
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
//设置动画的重复次数 setAnimationRepeatCount
[UIViewsetAnimationRepeatCount:2];
//设置动画是否反方向执行 setAnimationRepeatAutoreverses
[UIViewsetAnimationRepeatAutoreverses:YES];
// 延迟调用动画 setAnimationDelay
//设置动画是否反方向执行 setAnimationRepeatAutoreverses
[UIViewsetAnimationRepeatAutoreverses:YES];
// 延迟调用动画 setAnimationDelay
[UIViewsetAnimationDelay:2];
// 动画值的修改
view.alpha= 0;
//
// 改变frame
CGRect frame = view.frame;
frame.origin.y= 350;
view.frame= frame;
//
// 改变背景颜色
view.backgroundColor= [UIColorredColor];
//改变transform
view.transform= CGAffineTransformRotate(view.transform,M_PI/ 4);
view.alpha= 0;
//
// 改变frame
CGRect frame = view.frame;
frame.origin.y= 350;
view.frame= frame;
//
// 改变背景颜色
view.backgroundColor= [UIColorredColor];
//改变transform
view.transform= CGAffineTransformRotate(view.transform,M_PI/ 4);
//提交动画 commitAnimations
[UIViewcommitAnimations];
//block动画
[UIViewanimateWithDuration:2
animations:^{
view.transform= CGAffineTransformRotate(view.transform,M_PI/ 4);
}];
[UIViewanimateWithDuration:2
animations:^{
view.transform= CGAffineTransformRotate(view.transform,M_PI/ 4);
}
completion:^(BOOLfinished) {
[UIViewanimateWithDuration:2
animations:^{
view.transform= CGAffineTransformIdentity;
}];
}];
[UIViewanimateWithDuration:2
animations:^{
view.transform= CGAffineTransformRotate(view.transform,M_PI/ 4);
}];
[UIViewanimateWithDuration:2
animations:^{
view.transform= CGAffineTransformRotate(view.transform,M_PI/ 4);
}
completion:^(BOOLfinished) {
[UIViewanimateWithDuration:2
animations:^{
view.transform= CGAffineTransformIdentity;
}];
}];
//动画将要开始的时候调用的方法
- (void)animationWillStart:(NSString*)animationID context:(void*)context
{
- (void)animationWillStart:(NSString*)animationID context:(void*)context
{
NSLog(@"animationID is %@", animationID);
}
//动画已经结束的时候调用的方法
- (void)animationDidStop:(NSString*)animationID finished:(NSNumber*)finished context:(void*)context
{
NSLog(@"animationID is %@", animationID);
- (void)animationDidStop:(NSString*)animationID finished:(NSNumber*)finished context:(void*)context
{
NSLog(@"animationID is %@", animationID);
}
0 0
- iOS UI初级-UIVew与UIWindow
- iOS之UI初级---UIWindow的基本内容
- iOS学习之UI初级————UIWindow
- IOS初级:UIwindow
- iOS-UI-01 UIWindow UIView
- iOS开发笔记-UI-UIWindow
- ios UIVew 切换
- 【UI初级 连载三】--------UIWindow 和 UIView 的使用
- iOS 初级UI
- 芒果iOS开发UI课程第一节UIWindow
- IOS UI初级-触摸与手势的基本概念和用法
- IOS UI TableVIew(初级)
- iOS UI初级-标签控制器
- iOS UI初级-常用UI控件
- iOS开发之二:UIWindow与UIView
- ios uivew过渡动画 翻页效果
- iOS开发UI篇—UIWindow简单介绍
- iOS开发UI篇—UIWindow简单介绍
- 【备忘】java中File类的getXxx(路径相关方法)返回值
- xcode文件找不到---“AFNetworking.h”file not found
- ListView中的Item点击事件和子控件的冲突或者item点击没有反应的解决办法
- android 源码各版本下载 原生纯净版
- 二叉树中的最大路径和
- iOS UI初级-UIVew与UIWindow
- git 常用命令
- Linux命令中的rmdir
- Rectangle Area
- iOS UI初级-常用UI控件
- iOS开发中的小技巧
- linux下mysql默认安装目录和常用命令
- git 克隆远程仓库并创建分支、提交分支、获取分支
- HDU 5405 Sometimes Naive 2015多校联合训练赛#9 LCT 树链剖分