前言 iOS的组件都是封装好的,又没法看源代码,所以我们不容易知道组件的结构,所以我们可以遍历所有的视图,打印出来,来查看结构 /** 打印层级结构 - parameter superView: view
let rect = CGRect(x:130, y:100, width:0, height:0) let uiSwitch = UISwitch(fram...
视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西。在学习视图这一块的东西的时候,感觉和Java Swing中的Panel差不多。...UIWindow可以不借助于父类视图显示在屏幕上,其余的视图都需要添加到父视图中才能显示。...窗口是用来显示视图的,下面我们将会结合着实例来具体的学习一下IOS中的View和ViewController 1.首先我们需要建一个EmptyProject来测试我们的View和ViewController...我们还可以把视图看做是一个视图容器,视图上面还可以添加一个子视图。往父视图中添加的SubView会被放在一个数组中。...下面是iOS提供的一些管理子视图的方法,常用方法如下: (1) initWithFrame : 通过frame初始化视图,参数为CGRectMake(x, y, width, height
CGContextRef context = UIGraphicsGetCurrentContext(); [UIView beginAnimations:n...
Screen Shot 代码是很简单的,现在让灰色的视图作为父视图,蓝色、红色的作为子视图,只要灰色视图实现了上述方法,就可以让蓝色视图像红色视图一样,可以相应点击事件。 ?... 之前的话,我发现这些方法会多执行一次(在我当前写的这个简单 demo 里,我发现点击任意地方,HitTest 方法都会连续执行两次) 延伸阅读 - 深入浅出 iOS
官方最新:View Programming Guide for iOS 前言## 前些日子,我发布一个苹果官方文档的翻译,之后就有不少同学朋友问我:翻译苹果官方文档能做什么,开发过程用到的时候很少,浪费时间...今天,刚好有时间,就在此申明一下翻译苹果官方文档的实质作用: 首先,翻译官方文档可以提高自身英语阅读能力和理解能力,增大自己的词汇量,良好的英语基础会让工作效率更上一层楼的; 其次,对于iOS开发而言,...官方文档可以让你更好地理解每一个技术点实现的基本原理,知其然更要知其所以然,这样对iOS开发的进阶者和初学者都有很大的帮助; 最后,翻译官方文档可以让你更加全神贯注,写代码的过中会出现分神、思维混沌等现象...视图层次和子视图的管理#### 一个视图在呈现自身内容之外,还可以作为其他视图的容器。当一个视图包含另一个视图时,两个视图间的父子关系就创建出来了。在关系中,孩子视图就是子视图,父亲视图就是超视图。...表面上,子视图掩盖全部或部分父视图的内容。如果子视图是完全不透明的,有子视图组成的区域将会完全掩盖父视图相应地区域。如果子视图部分透明,在屏幕显示之前,父视图和子视图的内容就会混合在一起。
iOS中UITableView使用总结 一、初始化方法 - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style...,所有行和尾视图) - (CGRect)rectForSection:(NSInteger)section; 根据分区分别获取头视图,尾视图和行的高度 - (CGRect)rectForHeaderInSection...IOS为我们提供了下面两个函数解决这个问题: 开始块标志 - (void)beginUpdates; 结束快标志 - (void)endUpdates; 我们可以将我们要做的操作全部写在这个块中,那么...之后可用) @property (nonatomic, copy) UIVisualEffect *separatorEffect; 注意:这个属性是IOS8之后新的。...类注册cell - (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier 上面两个方法是IOS6
iOS 系统中的视图动画 动画为用户界面的状态转换提供了流畅的可视化效果, 在 iOS 中大量使用了动画效果, 包括改变视图位置、 大小、 从可视化树中删除视图, 隐藏视图等。...哪些属性可以添加动画效果 根据 iOS 视图编程指南中说明, UIView 内置支持为下列属性添加动画效果: Frame 可以改变视图相对于上一级视图的位置和大小。...创建视图切换动画 视图切换动画可以减少修改可视化树时引起的界面上的突变, iOS 系统中大量使用了视图切换动画, 视图切换动画主要有下面两种场景: 修改子视图 替换子视图 注意: 不要把视图切换和视图控制器的切换混淆...(显示一个模式对话框、将视图控制器推入导航堆栈等), 视图切换改变的仅仅是视图的可视化树, 视图控制器是不变的, 更多信息可以参考iOS视图控制器编程指南。...修改子视图 可以修改子视图的可见性用来表示当前视图的不同的状态, 看下面的两个视图切换的例子,在 iOS 4.0 之前, 需要将视图切换动画添加到 Begin/Commit 动画之间, 代码如下: 在
- (UIViewController *)getCurrentVC { UIViewController *result = nil; UIW...
好了,废话不说,我们进入主题:看看 iOS 是如何渲染视图和动画的,以及在我们遇到渲染的性能问题时怎么做优化。 (注意:以下内容是笔者的一些踩坑经验和总结, 欢迎探讨!)...可以看出iOS渲染视图的核心是 Core Animation。从底层到上层依此是 GPU->(OpenGL、Core Graphic) -> Core Animation -> UIKit。...在 iOS上,动画和视图的渲染其实是在另外一个进程做的(下面我们叫这个进程 render server),在 iOS 5 以前这个进程叫 SpringBoard,在 iOS 6 之后叫 BackBoard...iOS 上视图或者动画渲染的各个阶段: 在 APP 内部的有4个阶段: 布局:在这个阶段,程序设置 View / Layer 的层级信息,设置 layer 的属性,如 frame,background...视图的延后载入: iOS 只有在展示 viewcontroller 的 view 或者访问 viewcontroller 的 view,比如说 someviewcontroller.view 的时候才会加载
官方最新:View Programming Guide for iOS 介绍 关于窗口和视图 在iOS中,你可以使用窗口和视图将你应用的内容呈现在屏幕上。...同时,你也可以使用视图去组织和管理其他的视图。...概览 每一个应用都至少有一个窗口和视图用以呈现内容,UIKit和其他的系统框架会提供一些预定义的视图用来呈现内容,这些视图从简单的按钮、文本标签到更加复杂的列表视图、选择器视图和滚动视图。...视图可以在矩形区域内响应触摸事件、手势识别,甚至可以直接处理触摸事件。在视图层次中,父视图负责动态定位和规范子视图,这种动态改变子视图的能力可以使视图更好适应不断变化的状态,比如交互旋转和动画。...因为在iOS机制中支持Interface Builder和nib文件混合使用的,并且很容易就可以将nib文件融合到应用程序的设计中。
大家好,又见面了,我是全栈君 滚动视图:在根视图中添加UIScrollViewDelegate协议,声明一些对象属性 @interface BoViewController : UIViewController... //滚动视图对象 @property (retain, nonatomic) UIScrollView *scrollView; //视图中小圆点...,对应视图的页码 @property (retain, nonatomic) UIPageControl *pageControl; //动态数组对象,存储图片 @property (retain...self.pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 344, 320, 36)]; //初始化数组,存储滚动视图的图片...设置图片内容的显示模式(自适应模式) pImageView.contentMode = UIViewContentModeScaleAspectFill; //把视图添加到当前的滚动视图中
iOS中,Hit-Test的作用就是找出这个触摸点下面的View是什么,HitTest会检测这个点击的点是不是发生在这个View上,如果是的话,就会去遍历这个View的subviews,直到找到最小的能够处理事件的
第一种情形截图 这种是最最普通的截图,针对一般的视图上添加视图的情况,基本都可以使用。...源码: /** 普通的截图 该API仅可以在未使用layer和OpenGL渲染的视图上使用 @return 截取的图片 */ - (UIImage *)nomalSnapshotImage...UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return snapshotImage; } 第二种情形截图 如果一些视图是用...OpenGL渲染出来的,那么使用上面的方式就无法截图到OpenGL渲染的部分,这时候就要用到改进后的截图方案: /** 针对有用过OpenGL渲染过的视图截图 @return 截取的图片 */.../** 截图 以UIView 的形式返回(_UIReplicantView) @return 截取出来的图片转换的视图 */ - (UIView *)snapshotView { UIView
滚动视图还满常见的,这里学习了一下基本所有的用法、属性设置和委托,单讲一个ScrollView也很简单,直接上代码远比一个个讲要清晰明了地多。
需求: 移除所有子视图 思路1 - OC的API [view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]
官方最新:View Programming Guide for iOS 介绍## 关于窗口和视图#### 在iOS中,你可以使用窗口和视图将你应用的内容呈现在屏幕上。...同时,你也可以使用视图去组织和管理其他的视图。...概览#### 每一个应用都至少有一个窗口和视图用以呈现内容,UIKit和其他的系统框架会提供一些预定义的视图用来呈现内容,这些视图从简单的按钮、文本标签到更加复杂的列表视图、选择器视图和滚动视图。...视图可以在矩形区域内响应触摸事件、手势识别,甚至可以直接处理触摸事件。在视图层次中,父视图负责动态定位和规范子视图,这种动态改变子视图的能力可以使视图更好适应不断变化的状态,比如交互旋转和动画。...因为在iOS机制中支持Interface Builder和nib文件混合使用的,并且很容易就可以将nib文件融合到应用程序的设计中。
前言 关于iOS的视图渲染流程,以及性能优化的建议。 源于WWDC视频。...为了让子视图与父视图保持同样的透明度,从 iOS 7 以后默认全局开启了这个功能。 性能优化 这个是WWDC推荐的检查项目: ? 1、帧率一般在多少?...使用真机来调试,因为模拟器使用的CALayer是OSX的CALayer,不是iOS的CALayer。如果用模拟器调试,会发现所有的视图都是黄色。...总结 视频中的这一句话,让我对iOS的视图渲染茅塞顿开。 CALayer in CA is two triangles....文章中关于Tile-Based架构,以及像素显示渲染的理解基于我对OpenGL ES学习以及iOS开发收获。 iOS开发收获很容易找到,但是OpenGL ES相对来说很少。
就举一个IOS开发中的经典的demo:通讯录来说明问题。 1.在TableView没遇到CoreData的时候我们怎么通过动态表视图来显示我们的通讯录的内容呢?...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 /* *手动创建我们在动态表视图上显示的数据格式...添加完以后还要通过navigationController来返回到上一层视图,代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - (IBAction...a.下面的代码是获取数据我们选中的数据并通过KVC把参数传到目的视图中 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...UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; 7 8 //获取要目标视图
领取专属 10元无门槛券
手把手带您无忧上云