iPone应用开发 UIView 常用属性和方法
程序开发-uiview常用属性和方法">iPone应用程序开发 UIView常用属性和方法
常用属性
alpha 视图的透明度0.0f - 1.0f backgroundColor 视图的背景颜色 subviews 子视图的集合 hidden 视图是否隐藏 tag 视图的唯一标示符,是一个整形数据 superview 视图的父视图 multipleTouchEnabled 是否开启多点触控 userInteractionEnable 是否响应触摸事件
常用方法
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<code class="hljs" objectivec="">- (void)removeFromSuperview; //从父视图中删除当前视图 -(void)insertSubview:(UIView *)view atIndex:(NSInteger)index; //从指定的索引位置插入视图 - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2; //根据制定视图的索引位置交换视图 - (void)addSubview:(UIView *)view; //在当前视图层的上面添加一个新视图,这个方法会对参数视图的引用加1 - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview; //在指定视图下方添加一个视图 - (void)insertSubview:(UIView *)view aboveSubVIew:(UIView *)siblingSubview; //在指定的上方添加一个视图 - (void)bringSubviewToFront:(UIView *)view; //将参数指定的 view 移动到视图的最前面 - (void)sendSubviewToBack:(UIView * )view; //将参数指定的 view 移动到视图的最后面 - (UIView *)viewWithTag:(NSInteger)tag; //根据tag 属性获取已存在的 UIView 对象 </code> |
具体实现
?
1 2 3 4 |
<code>实现的方法: 1.可以纯代码实现,主要使用手动写代码的方式实现,不使用Xcode中的自动加载主视图的方法,我们手动管理视图,不用 ViewController 来管理. 2. 可以使用Xcode提供的UIView和UIVindow来实现 </code> |
实现方法
第一步:
首先,删掉工程中的 ViewController.h,ViewController.m,Main.storyboard 和 LaunchScre.xil 文件,我们自己手动写加载窗口和视图。
第二步:
把工程的 Main interface 中的 Main 删除,并把 Launch Screen File 文件中的LaunchScreen 也删掉.
接下来,我们在 AppDelegate.m 文件中写代码,加载主视图和窗口
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
<code class="hljs" objectivec=""> #import AppDelegate.h @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor grayColor]; UIView *bgView = [[UIView alloc] initWithFrame:self.window.bounds]; bgView.backgroundColor = [UIColor orangeColor]; [self.window addSubview:bgView]; UIView *greenView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 280, 160)]; greenView.tag = 100;//这个 tag 是视图的唯一标示,实际只是一个整数值 greenView.backgroundColor = [UIColor greenColor]; //bgView 和 greenView 建立了一种关系,即父子关系 bgView 叫做父视图, greenView 叫子视图 // [bgView addSubview:greenView]; greenView.superview.backgroundColor = [UIColor redColor]; UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(20, 190,280, 160)]; blueView.tag = 101; blueView.backgroundColor = [UIColor blueColor]; // [bgView addSubview:blueView]; // //通过子视图改变父视图的背景颜色 blueView.superview.backgroundColor = [UIColor lightGrayColor]; [bgView addSubview:blueView]; [bgView addSubview:greenView]; UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(20, 20, 240, 40)]; [btn setTitle:@别点我 forState:UIControlStateNormal]; [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchUpInside]; btn.backgroundColor = [UIColor lightGrayColor]; [bgView addSubview:btn]; // greenView.userInteractionEnabled = NO; // [greenView addSubview:btn]; UIView *gView = [bgView viewWithTag:100]; gView.backgroundColor = [UIColor purpleColor]; UIView *bView = [bgView viewWithTag:101]; bView.backgroundColor = [UIColor redColor]; [self.window makeKeyAndVisible]; return YES; } - (void)onButton { NSLog(@%s,__func__); } @end </code> |
运行结果如下:
结果分析:
这里的视图是有层次的,最底层的是橙色的视图 bgView,就是父视图,其他的都是子视图,其它视图按照代码中的位置和大小放在 bgView 上.父视图 baVIew 可以通过子视图来改变其属性.
iPone应用开发 UIView 常用属性和方法相关推荐
- Ajax--概述、xhr对象的常用属性和方法、xhr的常用事件、xhr对象发送POST请求、xhr对象发送GET请求、xhr对象的兼容性问题、数据交换格式(XML、JSON)
一.概述 1.1 发展历程 在开始之前先来看一下Ajax的工作原理吧,如下图所示: Ajax全称Asynchronous javascript and xml(异步 JavaScript 和 XML) ...
- JS lodash库在开发中常用到的方法
目录 一.摘要 二.常用方法 一.摘要 lodash是JS一个开箱即用的库函数,里面对于在日常开发中常用到的方法都是已经封装好的,使用起来非常方便,本篇记录了在日常开发过程总经常用的方法,就大概记录一 ...
- JavaScript之DOM常用属性及方法详解
一.什么是DOM? DOM:文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口. W3C 已经定义了 ...
- selenium提取数据之driver对象的常用属性和方法
selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...
- 尚硅谷学习笔记-节点的常用属性和方法
节点的常用属性和方法[图片在末尾] 方法: 通过具体的元素节点调用 getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点 appendChild( oChildNode ...
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
- ExtJs window(一)使用API以及window常用属性和方法
1.使用API xtype:组件的别名 Hierarchy 层次结构 Inherited mixins 混入的类 Requires 该组件需要使用的类 configs:组件的配置信息 properti ...
- vb中WindowsMediaPlayer的常用属性和方法
vb中WindowsMediaPlayer的常用属性和方法 enableContextMenu:Boolean 显示/不显示播放位置的右键菜单 fullScreen:boolean 全屏显示 stre ...
- C# 进程管理 Process的常用属性与方法
进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.进程之间是相对独立的,一个进程无法直接访问另一个进程的数据(除非分布式),一个进程运行的失败也不会影响其他 ...
最新文章
- 源码-0205-02--聊天布局
- 认识RESTful设计风格
- 由自动装箱和拆箱引发我看Integer源码
- Vysor:安卓手机放到电脑上用
- OO设计原则总结[转载]
- 弹性地基梁板法计算原理_地基下沉别慌张!沉着冷静用对地基加固法
- mysqlreport查看mysql性能
- 电路板上的插头怎么拔下来_中国连城 | 接插件在电路板上的作用及它的种类介绍...
- 使用 CSS 用户选择控制选择
- python元组求和_Python 列表和元组 - 学习笔记(持续更新)
- typedef四用途与两陷阱
- (51)Verilog HDL上升沿检测
- html+javascript实现数字微调,点击一下增加1或减去1
- 搭建无线打印服务器,用旧电脑轻松架设无线网络打印服务器
- 守望先锋归来(守望先锋2)游戏笔记
- MFC使用SaveAs函数保存Excel文件时,弹出“文件已存在”问题
- 微信朋友圈会在服务器上保留多久,微信朋友圈有没有草稿?可以存多久?
- 怎么用计算机进行气象预报,中央气象台进行天气预报,先用计算机解出描述天气演变的方程组,“算”出来未来天 - 问答库...
- 2020计算机专硕考数二的学校,2020考研备考:考研数一、数二、数三哪个最难?...
- python计算整数区间[m、n所有整数之和_Python:就区间正整数内所有素数之和
热门文章
- mysql登录时报socket找不到终极解决方案
- python画结节图像_天池医疗AI大赛[第一季]:肺部结节U-Net图像分割
- java版扫雷游戏源代码
- 【1049】晶晶赴约会
- 华北科技学院计算机专业录取分数线,2018华北科技学院在各省录取分数线【最新公布】...
- 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(7)- 从SD/eMMC启动
- 实用的CAM350快捷键命令
- 简单三步轻松建站,全新小白也能搭建企业网站
- 如何创建微信公众号, 微网站 以及发多图文消息
- L型、Π型、T型、多L连接型 匹配网络特性比较