iOS开发学习之UI篇 1、UIView
2016-01-05 19:33
363 查看
我们都知道所有函数的运行都是从main函数开始 (在xcode6之后其实不是这样,但为了学习,最好这样来)
main() 是所有函数的入口函数
UI 也是一样的 在Supporting Files文件夹下有main.m文件
在main.m中的main函数中的自动释放池内
// 配置应用的一个main函数
// 前两个参数是应用启动所需要的一些必要数据,不需要我们自己改动,系统会配置好。
// 第三个参数:将应用程序的类名转换为字符串作为该函数的参数;如果赋值为nil,意思就是默认值为@“UIApplication”,这个参数可以是UIApplication的子类。
// 通过这个参数,词函数可以创建一个应用对象,此处创建的就是当前应用。
// 第四个参数:创建整个应用程序的代理
// 当应用程序对象和代理对象创建完成之后,将二者建立关联,也就是应用程序将代理对象指定为整个应用程序的代理,来协助应用程序处理逻辑操作。
// 当应用程序和代理对象建立关联之后,会讲整个应用程序放入RunLoop中 (RunLoop 就是一个死循环)。只要我们不退出应用,这个循环就会一直运行。他有三种状态 等待操作-》 接到操作-》 处理操作-》 等待操作。。。。
//当main函数执行完,程序会跳入AppDelegage.m(文件名不固定, 也可以改 但也需要在main函数中改为你设置的名字 )文件中。
应用程序创建好了,应用的代理也指定为当前类的对象,也将应用放到了RunLoop中了,这个时候,整个应用程序才算加载完毕。当应用程序加载完毕的时候,就会调用此代理方法。在次代理方法中进行界面的设置。
main() 是所有函数的入口函数
UI 也是一样的 在Supporting Files文件夹下有main.m文件
在main.m中的main函数中的自动释放池内
// 配置应用的一个main函数
// 前两个参数是应用启动所需要的一些必要数据,不需要我们自己改动,系统会配置好。
// 第三个参数:将应用程序的类名转换为字符串作为该函数的参数;如果赋值为nil,意思就是默认值为@“UIApplication”,这个参数可以是UIApplication的子类。
// 通过这个参数,词函数可以创建一个应用对象,此处创建的就是当前应用。
// 第四个参数:创建整个应用程序的代理
// 当应用程序对象和代理对象创建完成之后,将二者建立关联,也就是应用程序将代理对象指定为整个应用程序的代理,来协助应用程序处理逻辑操作。
// 当应用程序和代理对象建立关联之后,会讲整个应用程序放入RunLoop中 (RunLoop 就是一个死循环)。只要我们不退出应用,这个循环就会一直运行。他有三种状态 等待操作-》 接到操作-》 处理操作-》 等待操作。。。。
int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, NSStringFromClass([UIApplication class]), NSStringFromClass([AppDelegate class])); } }
//当main函数执行完,程序会跳入AppDelegage.m(文件名不固定, 也可以改 但也需要在main函数中改为你设置的名字 )文件中。
应用程序创建好了,应用的代理也指定为当前类的对象,也将应用放到了RunLoop中了,这个时候,整个应用程序才算加载完毕。当应用程序加载完毕的时候,就会调用此代理方法。在次代理方法中进行界面的设置。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建应用程序主窗口,一般一个应用程序只有一个窗口,UIWindow // frame:视图的大小 [UIScreen mainScreen].bounds 整个屏幕的大小 初始化的时候,将window的大小设置为整个屏幕。 self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; // 创建一个视图控制器 xcode7之后版本,需要此代码 [self.window setRootViewController:[[UIViewController alloc] init]]; // 将window的背景颜色设置为白色。 [self.window setBackgroundColor:[UIColor blueColor]]; // 将初始化好的window设置为主window并且显示 [self.window makeKeyAndVisible]; // 初始化一个视图 (UIView) // 设置初始化的位置和大小 CGRect 为一个结构体,里面规定的一个矩形的其实位置(xy点),矩形的大小(height和 width) 宽和高。 在IOS体系中,原点(0,0)点在屏幕的左上方。横轴为X,向右为正方向,纵轴为Y轴向下为正方向 CGRect frame =CGRectMake(50, 50, 100, 100); // 在初始化师徒的时候,给定视图的大小(frame)。 UIView *myView = [[UIView alloc]initWithFrame:frame]; // iOS7之后扁平化之后,基本所有的视图都为透明色,为了看到视图,我们给他设定背景颜色 [myView setBackgroundColor:[UIColor redColor]]; // 将初始化之后的视图呈现在window上 [self.window addSubview:myView]; // 初始化一个视图, 将该视图添加到myView上面。 UIView *subOfMyView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)]; [subOfMyView setBackgroundColor:[UIColor yellowColor]]; [myView addSubview:subOfMyView]; // frame的原点 也就是(x,y)他所参照的坐标系是以父视图的左上角为(0,0)点。 // 使用三种不同颜色的view占满屏幕的宽 // 算出每个view的宽度 float evwidth = width/3; // 给数组中存入不同的颜色 NSArray *colorArray = [NSArray arrayWithObjects:[UIColor redColor],[UIColor yellowColor],[UIColor greenColor], nil]; // 循环用不同颜色的view把屏幕填满 for (int i= 0 ; i<3; i++) { UIView *view = [[UIView alloc]initWithFrame:CGRectMake(evwidth *i, 160, evwidth, evwidth)]; // 用数组给view设置颜色 [view setBackgroundColor:colorArray[i]]; // 添加到window上面 [self.window addSubview:view]; } // 把view放到整个屏幕的中间,方法挺多的 // 1、直接把window的中心点赋给view view.center = self.window.center; // 2、直接用中心点为参照点创建view UIView *view = [[UIView alloc]initWithFrame:CGRectMake((self.window.center.x-100), (self.window.center.y-100), 200, 200)]; // 设置当前视图的透明度,范围值为0~1 // 默认值为1 (不透明) view.alpha =0.5; // 将当前视图隐藏 view.hidden =NO; // 通过三原色随机出来一个颜色对象,方法所需要的值是0~1,所以需要除以255.0 #FFFFFF(FF 为红 FF为绿 FF为蓝) UIColor *color = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1]; // 每一个视图都可以加标记,让我们通过标记找到该视图。由于系统不设置该标记,系统会默认给一个标记值,所以如果我们人为赋值,不能和系统给的标记值冲突。所以一般标记值从1000起步。 myView.tag =1000+i; myView.center =self.window.center; [myView setBackgroundColor:[UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1]]; [self.window addSubview:myView]; } // 将最上面的视图移动到最底层 得到标记的视图 [self.window sendSubviewToBack:[self.window viewWithTag:1004]]; return YES; }
相关文章推荐
- IOS(UI)_UILabel(标签)
- UE 无法初始化FTP组件
- 有value时,li元素序列号就是value值,没有value,则会递增
- 关于百度 UEditor的使用
- Android can only be built by versions 3.81 and 3.82
- Arduino 中断和定时器
- lintcode :implement queue by two stacks 用栈实现队列
- UIAlertController
- UIView设置指定的border
- 给UIView 的子类们 UIButton UILbel等 。。。。加一个虚线圆角的border
- wifi模块ESP8266_AT arduino 库文件部分方法解析及优化
- iOS中xcode的调试技巧(打印UI层次、po)
- 项目文件包含 ToolsVersion="12.0" 设置,而此版本的 MSBuild 不支持该工具版本
- easyUI——easyui-textbox输入框绑定blur事件
- [iOS-UI]点击清空按钮,却会有提交的感觉
- UIScrollView的常用属性和方法(自己总结)
- iOS UIScrollView常用属性、回调方法
- jquey 中.live 和.bind区别
- sql quer
- IOSUITextView图文混排显示文本和表情