《View Programming Guide for iOS》笔记

View and Window Architecture
1 每个View的背后都有一个Layer负责渲染。Layer的渲染一般由Core Animation完成,并最终由更底层的硬件缓冲区保存屏幕上的每个点。
2 从视觉上看,子视图会遮住父视图的一部分或者全部。就是说,子视图的zorder一定比父视图大。
3 父视图的某些改变会影响到子视图,比如 resize,hide,alpha,trasform 的值。
4 视图树上面的子视图的布局会影响到事件的分发。
5 视图有个contentMode 属性,决定视图本身发生几何变化时,是要在当前的视图的基础上修改还是全部重新绘画。
   如果你想让你自定义的视图在放大缩小和改变大小的时候重新绘画自己,可以将视图的contentMode设为UIViewContentModeRedraw。
6 通过 contentStretch 属性你可以指定视图的可伸展区域,当视图被拉伸时,只有这个区域会被拉伸。
7 如果视图的 transform 属性不是 identity transform,则视图的 frame 属性将被视为无效的。
     此时,必须无视这个属性,而使用bound和center属性来获取当前视图的位置和大小。
     子视图的frame属性还是有效的,因为其frame属性的值是相对于父视图的bounds属性。
8 当bound属性大小发生改变时,frame属性的大小也会跟着改变。

Coordinate System Transformations
1 仿射变换(affine transform)是一个数学模型,通过它可以操纵一个坐标系统上的某个点到另一个不同的坐标系统的映射。
2 用仿射变换改变整个视图,可以通过改变transform属性。
3 用仿射变换改变视图的某一块区域,可以通过在drawrect:方法中改变当前的视图上下文的仿射变换。

高效地使用视图
1 并不是每个视图都要与之对应的视图控制器。
2 尽量少使用自定义的绘画
3 利用contentMode属性带来的好处
4 尽量将视图声明为不透明(通过opaque属性)
5 当视图在滚动时,适当地调整视图的自绘,比如快速滚动时降低视图的绘图质量。
6 不要通过嵌入子视图来定制现有控件

Windows
1 创建主窗口时,大小设为跟屏幕一样大小,无需为状态栏等控件出让位置。状态栏将会在窗口上面。
2 当应用程序切换到后台时,不会收到 UIWindowDidBecomeVisibleNotification 和 UIWindowDidBecomeHiddenNotification 通知,虽然此时程序在后台执行,但是还是被认为是可见的。
3 触摸事件将会被分发到被触摸的窗口,没有跟坐标相关的事件会被分发到关键窗口(key window)

SKIP : Displaying Content on an External Display

Views

1 如果视图控制器的view属性没有被访问过,与之关联的视图树也不会被加载。
2 removeFromSuperview方法在将视图从父视图删除之前会调用autorelease。
3 一个作为第一响应者的视图被隐藏时,不会自动放弃第一响应者状态。
4 对一个视图进行放大缩小时,影响了视图的宽高,但中心点不变。
5 如果一个视图的transform属性不包含identity transform,则其frame和自动调整大小的行为是未定义的。
6 如果视图的layer是CAEAGLLayer对象,则视图使用OpenGL ES自绘。
7 一个非常大的视图一次只显示一小部分的时候,可以使用CATiledLayer来保存整个视图。
8 在drawRect:方法中获取的当前图像上下文(current graphics context )只在该方法被调用的那一次的方法内部有效。
9 调用UIApplication的beginIgnoringInteractionEvents和endIgnoringInteractionEvents方法可以让所有的视图接收不到事件
10 一般情况下,UIView的动画方法在显示动画过程中会屏蔽触摸事件。
11 如果视图持有一些当视图本身被释放的时候就要释放的资源,就要实现dealloc方法。这些资源包括视图申请的内存,其他对象的引用,资源文件等等。

Animations

1 视图的layer属性指定的layer对象是跟视图本身连在一起的,这个layer对象的改变会影响视图本身。
2 其他没有跟视图绑定的layer对象只能通过使用 Core Animation 来实现动画。

the animation's repeat count should be x.5 times, so the final state will be the end state

3 在视图之间创建带动画的切换
     transitionWithView:duration:options:animations:completion: 和 presentViewController:animated:completion: 不同,
     前者影响到视图层次,后者只是切换控制器。
4 添加删除隐藏显示视图的动画:
     transitionFromView:toView:duration:options:completion: 


电赛控制-----经验分享 1.赛前准备 先简单介绍一下电赛。电赛是两年一届,单数年是大电赛,全称是全国大学生电子设计大赛,之前由瑞萨电子赞助,所以之前也叫瑞萨杯,从19年开始赞助方变成了TI公司,偶数年是小电赛,全称是“TI杯”模电邀请赛,(这里不得不提TI公司的实力是愈来愈大了),一般来说小电赛的含金量会略低于大电赛,而且对与想拿国奖的同学来说还是要参加大电赛,因为小电赛一般每个学校会限制只有两个队伍进国赛,而大电赛是没有这个限制的,而且我们学校电赛保研的话,大电赛只要求国二,而小电赛只有国一才可以保,这样难度就增加了很多。.. 阅读详情

相关推荐

电力系统设计实战:如何用ETAP绘制一次接线图并优化供电方案

本文详细介绍了如何使用ETAP软件进行电力系统一次接线图的绘制与供电方案优化。从基础环境配置到主接线拓扑构建,再到典型接线方式的对比分析与智能优化,为工业与民用电力系统设计提供实用指南。通过ETAP的可靠性分析和动态仿真功能,帮助工程师选择最优供电方案,提升系统可靠性和运维效率。

weixin_29250573的博客 205

《View Controller Programming Guide for iOS》笔记

1 ViewController分两种:Content View Controller 和 Container View Controller。 2 View Controller的职责:对内管理Views,对外跟其他ViewController通信和协调,Storyboards可以降低对外部分的复杂度。 3 ViewControllers are brains of you

苹果君的工作室 4457

libfranka---joint_impendence_control例程分析

joint_impedance_control.cpp例程分析 部分内容来自链接,我个人以初学者的角度对代码进行了更加细致的解释。 核心部分: // Set and initialize trajectory parameters. const double radius = 0.05; const double vel_max = 0.25; const double acceleration_time = 2.0; const double run_time = 20.0; d

weixin_41567783的博客 1121

Scroll View Programming Guide for iOS 笔记

1.ScrollView通过拖动或者轻弹实现scroll不需要子类或者代理。只有UIScrollView的content size需要通过程序设置,其他都能用Interface Builder设置    2.只需要少量的额外配置ScrollView就能达到基本的滚动功能。    3.ScrollView可以加在controller或者其他view上面。只有两个步骤需要配置scroll view

Code Heaven 2523

使用 ONLYOFFICE API 构建 Java 转换器,在 Word 和 PDF 之间进行转换

随着文档处理需求的增加,格式转换成为了一个重要的需求点。由于PDF格式具有跨平台、不易被篡改的特性,将Word格式(.docx)转换为PDF格式(.pdf)的需求尤为强烈。ONLYOFFICE作为一个强大的办公套件,提供了这样的转换功能,使得用户可以轻松地在Word和PDF之间进行转换。

ONLYOFFICE的官方博客 4567

软件可靠性测试与评价

本文系统介绍了软件可靠性工程的核心内容,包括可靠性概念、模型分类、测试方法和评价体系。重点解析了可靠性测试的三大步骤:定义运行剖面、设计测试用例和实施测试收集数据,并以智能安防系统为例说明具体应用。可靠性评价需结合业务场景,通过量化指标(MTBF、失效率等)和模型预测持续优化系统。文章强调可靠性需贯穿软件全生命周期,通过闭环反馈实现持续改进,为关键系统提供质量保障。

moton2017的博客 2048

View Programming Guide for IOS:View and Window Architecture笔记

View 和 Core Animation layers 连结起来渲染和动画view的内容。每个UIKit框架内的view的背后都是一个layer对象(一般是CALayer的实例),这个layer管理view背后的存储并且操作跟view有关的动画。大部分的操作都可以通过UIView的接口来执行,但是如果需要更多的操作来渲染或给视图做动画,也可以直接对layer做操作。 在laye

jinangzhu的专栏 818

使用 MATLAB/Simulink 构建一个 核电站汽轮机与发电机协调控制系统 的仿真模型

在核电机组中,汽轮机-发电机系统是将核能最终转化为电能的关键环节。与火电机组不同,核反应堆的热惯性大、功率调节慢,因此汽轮机的控制策略需与反应堆特性相匹配,实现安全、稳定、高效的能量转换。维持发电机输出功率/频率稳定(响应电网调度)调节汽轮机进汽压力(匹配一回路蒸汽供应)实现“堆-机协调控制”保障机组在启停、变负荷、甩负荷等工况下的安全性本教程将带你使用构建一个核电站汽轮机与发电机协调控制系统汽轮机调速系统(调门控制)建模发电机与电网接口建模(同步机)

xiaoheshang_123的博客 188

iOS 笔记 《View Programming Guide for iOS:Introduction》

原文地址 记录关于学习过的 iOS 文档 系列文章 iOS 笔记 《View Programming Guide for iOS:Introduction》 iOS 笔记 《View Programming Guide for iOS:View and Window Architecture》 未完成 iOS 笔记 《View Programming Guide fo

RightNowYang 602

【毕设实战】基于YOLOv8的HRSC2016船舶智能检测系统开发全指南(含可视化UI界面,打造海事领域高分毕设)

亲爱的同学,通过这篇教程,你已经掌握了“基于YOLOv8的HRSC2016微小船只检测系统”从数据集处理、模型训练到Tkinter界面开发的全流程。这个课题既贴合“海事智能化”的产业战略,又涵盖了“目标检测、深度学习、界面开发”等多个毕设评分点,非常适合作为计算机或海事工程专业的毕业设计。在实践中,你可能会遇到“海面背景复杂导致船只漏检”“微小船只识别精度不足”“UI与模型推理同步卡顿”等挑战——别担心,这些都是技术成长的必经之路。

know_F0727的博客 127

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

weixin_42162924的博客 32

View Programming Guide for IOS:Views笔记

1.执行画图代码: “当前绘图上下文”只在执行视图的drawRect方法期间才有效。UIKit有可能会在后续调用drawRect方法时声称一个新的视图上下文,所以你不能试图去缓存这个“当前绘图上下文”并在之后使用它。 - (void)drawRect:(CGRect)rect {     CGContextRef context = UIGraph

jinangzhu的专栏 785

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

View Programming Guide for iOS 笔记

1. 必须要懂得UIWindow 和UIView的关系, 2.1个view可以当做其他view的container ,他们是parent - child relationship,which is know subVIew and superVIew . 3.fram bounds center 的关系 4.views Do Not Always Have a Corresp

250

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

View Programming Guide for iOS 学习笔记_0

最近开始看苹果的官方文档,第一篇看的是这个View Programming Guide for iOS,因为我不爱看官方文档,全都是英语,有点头疼,但是这个东西确实不看不可的,所以我逼着自己把这篇Guide翻译一遍,顺便提高一下自己阅读文档的能力。还没有翻译完,有更新我会贴上来的。因为我的翻译能力有限,所以希望大家多多批评指正。

ShorewB的博客 1235

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

View Programming Guide for iOS 学习笔记_3

定义一个自定义的视图如果系统的视图不能满足你的需要,你可以自定义一个视图。在自定义视图里你可以完全控制你的应用程序的内容的外观和与内容交互的处理方式。注意如果你使用OpenGL ES来绘制。你应该使用GLK类而你搜UIView的子类。更多关于如何让使用OpenGL ES绘制的信息,查看OpenGL ES Programming Guide for iOS.实现一个自定义视图你需要做的事自定义视图的职

ShorewB的博客 789

View Programming Guide for iOS读书笔记

View and Window Architecture 一个view的所有subviews被安装顺序放在 一个数组中,放在数组最后的view会被显示出来;改变superview的行为,会对subview产生影响,例如修改大小,透明度等如果一个单击行为,当前的view没有处理,就会传给superview进行处理,当然一些特殊的view也会把消息传给responder object进行

shenjianping的专栏 2052

View Programming Guide for iOS 学习笔记_2

这几天刚回学校,事情比较多,对文档的翻译进度慢了一些,最近我在想要不要把我写的这些东西放在github上,但是我还不太会用,等几天学学怎么用然后把这些东西放在github上好了。今天学习到如何写注释的方法,注释应该是注释接下来的代码是干什么的,把这一段代码的实现的功能写下来,而不是对每一条语句进行说明。Views因为view对象是用户与你的应用程序交互的主要途径,所以view有许多职责。下面是其中的

ShorewB的博客 798

【IOS笔记】View Programming Guide for iOS -1

原文:View Programming Guide for iOS View and Window Architecture Views and windows present your application’s user interface and handle the interactions with that interface. UIKit and other syste...

weixin_30852451的博客 226

View Programming Guide for iOS 学习笔记_1

这是View Programming Guide for iOS 学习笔记的第二部分,在翻译这部分的时候我照抄了文档里的代码,因为实在markdown编辑器里写的,没有代码补全功能,这让我有时间一遍照抄一边思考,看着这些官方代码有了一点点体会,这些体会我会稍后写在下一篇博客里。

ShorewB的博客 734

View Programming Guide for iOS_读书笔记[正在更新……]

原文:View Programming Guide for iOS 1 Introduction 先熟悉一下基本概念. Window Windows do not have any visible content themselves but provide a basic container for your application’s views. Every ...

weixin_30532759的博客 151

View Programming Guide for iOS_读书笔记

关于Window的定义的要点  Windows do not have any visible content themselves but provide a basic container for your application’s views.

weixin_34185512的博客 70
上一篇: 创业公司 vs. 大公司
下一篇: 属性在viewDidUnload中设nil,在dealloc中却release
wihing
博客等级 码龄19年 55粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值