iOS--UIView和UIWindow用法
- 基础
UI(user interface)是用户界面;iOS的应用是由各种各样的UI控件组成
UIWindow就是一个窗口,学的第一个基础类,就是一个容器,可以在容器上放不同的内容,每个app都需要借助Window将内容展现给用户
UIView是视图,代表屏幕上的一个矩形区域
UIView和UIWindow除了继承外没有其他关系,window是窗口,上面赋着UIView,平常看不见UIWindow,我们用的self是系统建的UIView
一般不要直接在UIWindow上直接加视图
创建视图:1、开辟空间并初始化视图(给出位置和大小)2、对视图做一些设置(如背景颜色)3、将视图添加到window上进行显示 [self.window addSubview:blueView]4、释放视图对象、
- 常用属性
- window的属性有:
- view的属性有:
- backgroundColor
- frame
- rootViewController
- userInteractionEnabled
- screen
- backgroundColor
- tag
- alpha
- hidden
- superview
- subviews
- 创建 self.window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];//创建window,让其充满屏幕。 [self.window makeKeyAndVisible];//让其成为主窗口且可视
- self.window.backgroundColor = [UIColor whiteColor];//设置背景颜色
- self.window.rootViewController = [[ViewController alloc] init];//设置根视图控制器,要加头文件
- //流程:main->app->view->
- //*添加子视图*
- self.view.backgroundColor = [UIColor redColor];
- UIView *view = [[UIView alloc] init];
- view.frame = CGRectMake(10, 20, 30, 40);//相对于父视图的位置,注意坐标和尺寸的合理性,保证坐标加尺寸不会超出俯视图范围。
- view.userInteractionEnabled = NO;//是否允许用户点击,如果设置成NO,子视图不会覆盖父视图的点击事件
- self.view.userInteractionEnabled = NO;//如果父视图不允许交互,子视图事件也会被屏蔽。
- view.backgroundColor = [UIColor whiteColor];
- [self.view addSubview:view];//将后面的视图添加到前面的视图之上
- view.tag = 1;//设置视图标签
- UIView *view3 = [self.view viewWithTag:1];//获取父视图中标签为一的视图。
- view.alpha = 0;//设置视图的透明度,0~1浮点
- self.view.alpha = 0;//如果父视图透明,子视图也会看不见
- view.hidden = YES;//设置视图是否隐藏
- self.view.hidden = YES;//如果父视图被隐藏,子视图也会被隐藏
- 操作
NSArray*subviews = [redview subviews];//获得本视图的 所有子视图
UIView*superview = [redview superview];//获取本视图的父视图
[view removeFromSuperview];//移除
[self.view insertSubview:view atIndex:1];//将子视图添加到父视图的某个位置
[self.view insertSubview:view2 aboveSubview:view];//将view1添加到父视图且在view之上
[self.view insertSubview:view2 belowSubview:view];//将view1添加到父视图且在view之下。
[self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];//交换两个位置的视图
[self.view bringSubviewToFront:view];//将某个子视图移到父视图的最前面
[self.view sendSubviewToBack:view2];//将某个子视图移到父视图最底层
被点击的方法-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"被点击");
}
iOS--UIView和UIWindow用法的更多相关文章
- iOS开发——UI篇OC篇&UIView/UIWindow/UIScreen/CALayer
UIView/UIWindow/UIScreen/CALayer 1.UIScreen可以获取设备屏幕的大小. 1 2 3 4 5 6 7 // 整个屏幕的大小 {{0, 0}, {320, 480} ...
- iOS之美: UIView 与 UIWindow之间的关系
转自:http://leopard168.blog.163.com/blog/static/168471844201381584533466/ 面对iOS初学者,总会被问到一些不常被关注的问题,比如: ...
- iOS - UIView
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...
- iOS开发之UIWindow
1.概述 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow. iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制 ...
- [转]IOS UIView 之属性篇
[转载自:IOS UIView 之属性篇 From CSDN] UIView 继承于UIResponder 所遵守的协议有 NSCoding .UIAppearance. UI ...
- IOS UIVIEW layer动画 总结(转)
转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html IOS UIVIEW layer动画 总结, ...
- IOS UIView圆角,阴影,边框,渐增光泽
圆角 sampleView.layer.cornerRadius = 2.5; // 圓角的弧度sampleView.layer.masksToBounds = YES; 阴影 sampleView. ...
- iOS UIView 基本属性用法
.创建UIView UIView * redView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; UIView * blueView = ...
- UIView 和 UIWindow 的学习内容
UIWindow是UIView的子类,一个程序只能有一个window主窗口. 在XCode7之后我们创建UIWindow的对象,代码如下: //创建一个窗口,使其铺满屏幕(设置大小) ...
随机推荐
- yii2 的request get pos请求 基本用法示例
yii2好久没用了, 基本的都快忘了,赶紧记录一下. 1.普通的get和pst请求 $request = Yii::$app->request; $get = $request->get( ...
- yii2 框架的 save() 方法 执行模式条件。
save() 方法会调用 insert() 和 update() 中的一个, 用哪个取决于当前 AR 对象是不是新对象(在函数内部,他会检查 yii\db\ActiveRecord::isNewRe ...
- 异步编程模型(APM)模式
什么是APM .net 1.0时期就提出的一种异步模式,并且基于IAsyncResult接口实现BeginXXX和EndXXX类似的方法. .net中有很多类实现了该模式(比如HttpWebReque ...
- 查看cpu
使用系统命令top即可看到如下类似信息: Cpu(s): 0.0%us, 0.5%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st ...
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C.Ray Tracing (模拟或扩展欧几里得)
http://codeforces.com/contest/724/problem/C 题目大意: 在一个n*m的盒子里,从(0,0)射出一条每秒位移为(1,1)的射线,遵从反射定律,给出k个点,求射 ...
- 【C#】 格式化说明符 string.Format WriteLine
定义 格式说明符的语法由3个字段组成:索引号.对齐说明符和格式字段.String.Format和WriteLine都遵守同样的格式化规则. 对齐说明符 对齐说明符表示了字段中字符的最小宽度.对齐说明符 ...
- 一个简单的游戏开发框架(七.动作Motion)
发现还没谈到最基本也是最重要的问题,怎么画图,画动画? 在原版cocos2d-x里画动画比较麻烦,见cocos2d-x学习笔记04:简单动画 cocostudio扩展出CCArmature类,就比较简 ...
- 嵌入式Linux的调试技术
本节我们研究嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试.刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过p ...
- SQL IF ELSE
if (条件) begin (执行模块) endelse if (条件) begin (执行模块) endelse begin ...
- 两个APP跳转传值问题
最近工作上遇到个问题,新的项目要和老系统单点登录. 有点蒙,从来没做过,网上一搜都是SSO,还需要验证服务器. 仔细揣摩,其实需求很简单,没必要那么复杂,以下是我的需求和解决方案: 原系统AP1 新开 ...