在iOS开发中,我们知道有一个共同的基类——NSObject,但是对于界面视图而言,UIView是非常重要的一个类,UIView是很多视图控件的基类,因此,对于UIView的学习闲的非常有必要。...; 245 /** 插入子视图(将子视图插入到subviews数组中index这个位置) */ 246 - (void)insertSubview:(UIView *)view atIndex:(NSInteger...:(NSInteger)index2; 249 250 /** 添加子视图(新添加的视图在subviews数组的后面, 显示在最上面) */ 251 - (void)addSubview:(UIView...*)view; 252 /** 插入子视图(将子视图插到siblingSubview之下) */ 253 - (void)insertSubview:(UIView *)view belowSubview...:(UIView *)siblingSubview; 254 /** 插入子视图(将子视图插到siblingSubview之上) */ 255 - (void)insertSubview:(UIView
1、 ViewController.swift #视图控制器 更改类的视图控制器 ?...(label) let button = UIButton(frame:CGRect(x:40, y:180,width:240, height:44)) button.setTitle(“打开新的视图控制器...openViewController() { let newViewController = NewViewController() newViewController.labelTxt = “传递的参数...label.text = “返回的参数。” self.dismiss(animated:true, completion:nil) } } 4 视图控制器周期 ? image.png
---- typora-copy-images-to: ipic Xcode在StoryBoard设置UIView的控件类是Cocoapods的类,运行还是UIView? 问题产生的条件: ?...ZHVerifyCodeFiled作为我写在Cocoapods的空间,现在我在测试例子的Main.storyboard直接添加一个UIView使用我们Cocoapods的这个类,但是我们运行发现出来的对象还是...UIView类。...80CE5494-BF6B-4BD4-B6E8-BA300CD8E073 如果我在代码导入这个类 import ZHVerifyCodeFiled 直接使用代码创建时可以创建成功的。...16745825-D94E-4EE7-B838-CA0D2DBF4A5A 使用类的Module要使用包含我们使用类的Module才可以
UIView是UIKit框架里面最基础的视图类。UIView类定义了一个矩形的区域,并管理该矩形区域内的所有屏幕显示。 控件 ?...image.png 1个UIWindow 或 UIView 1、设置背景色 import UIKit class ViewController:UIViewController { override...let view = UIView(frame:CGRect(x:40, y:80,width:240, height:240)) view.backgroundColor = UIColor.black...super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } ---- 使用自定义视图...image.png 视图嵌套 ? image.png
important; } 很多时候需要禁用移动设备的默认行为,比如长按一个a链接的按钮(href写的是javascript:;)会提示是否打开/取消。...而-webkit-touch-callout 在ios8中是失效的,查资料说是一个bug。
简述 本文将讲述在iOS开发中如何根据某个UIView来获取所属的UIViewController UIResponder 在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,包括触摸事件...我们知道UIApplication、UIView、UIViewController这几个类是直接继承自UIResponder,所以这些类都可以响应事件。...当然我们自定义的继承自UIView的View以及自定义的继承自UIViewController的控制器都可以响应事件。...通过响应链查找视图控制器,nextResponder获取下一个响应者,响应者顺序为: ?...返回第一个找到视图控制器 UIResponder *responder = view; while ((responder = [responder nextResponder])){
CALayer* layer = self.view.layer; 所有派生自UIView 的对象,都会继承这一属性,这意味着你可以对导航栏、表格、文本框以及其他许多类型的视图类,进行变换、缩放、旋转...不错 UIView 确实只有一个layer 属性,但是layer 是可以叠加的,layer 可以叠加在 layer 上面,所以这个layer 就相当于是一块底板,我们可以在这块地板上叠加一些透明胶片(子图层...每个类单独绘制他自己的图层,但当游戏图层被显示出来的时候,3个图层就全都融合在一起了。 gameView不是唯一能够添加子图层的图层。子图层也可以添加自己的子图层,并且可以构建一个完整的图层层次结构。...用一组名为 insertSublayer 的替代方法,你可以将新视图插入现有的图层之间。...这个对象作用于视图的图层,根据期望的三维设置对图层进行弯折或者其他操作。应用程序可以仍然将对象看作是二维的,但是当对象呈现给用户时,会遵从已经作用于图层之上的任何变换。
前言: 1、在Mac OS中NSWindow的父类是NSResponder,而在iOS中UIWindow的父类是UIView。程序一般只有一个窗口但是会又很多视图。...2、UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体等等。...下面介绍的是view添加以及删除时所触发的方法 // 当视图添加子视图时调用 - (void)didAddSubview:(UIView *)subview; // 当子视图从本视图移除时调用...)) view.backgroundColor = UIColor.red testV.addSubview(view) } 上面方法触发了didAddSubview,验证了当视图添加子视图时会调用...TestView tagView.removeFromSuperview() }) 上面方法触发了willRemoveSubview,验证了当子视图从本视图移除时会被调用,同时,willMove
frame、center、bounds、transform UIView中用于表征视图在父视图中显示出来的位置和尺寸的属性是frame。 同时系统还提供另外两个属性center和bounds。...UIView和CALayer的定位映射关系 UIView是对视图的抽象类,它主要用来负责数据的存储和操作逻辑的实现。而CALayer则是对视图在屏幕上的渲染和显示信息的抽象类。...因此上述视图中的几个属性的内部实现其实是委托给CALayer中的对应属性来实现的,其对应关系表如下: UIView CALayer frame frame center position bounds...视图是一个矩形区域,里面有无数个点,只要明确了视图内某个点的坐标值在父视图中的位置,那么这个视图的位置就可以被确认,而这个被指定的视图内的位置坐标点就是锚点。...UIView *A = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)]; A.anchorPoint = CGPointMake(0,0);
一直没有很好的理解这两个的区别,今天Google了一下,有了比较清楚的认识。...By default animation and rotation will be based on the center of the UIView....property. bounds - this property is not a positioning property, but defines the drawable area of the UIView...mainScreen] bounds] on startup to determine the visible area for the application and setup their initial UIView...---- Previous Objective-C 私有方法 Next NSLog中使用的格式符
看了iOS6编程实践第9章后,总结一下UIView和CALayer的异同点: UIView 负责绘制与事件处理,而CALayer只负责绘制。 UIView的绘制也是交给CALayer的。...UIView和CALayer都可以有下一层,都是树状结构。 自定义的UIView重写drawRect,自定义的CALayer重写drawInContext或重写委托者的drawLayer方法。...UIView会在第一次显示或需要重绘时自动调用drawRect,而CALayer不会,需要显示调用setNeedsDisplay。
iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 主要作用是提供一个区域用来显示...UIView;将事件分发给UIView;与UIViewController一起处理屏幕的旋转事件。...对于UIView,侧重于对内容的显示管理;其实是相对于CALayer的高层封装。 3....在创建UIView时,它内部会自动创建一个图层,当UIView需要显示在屏幕上的时候,会调用drawRect:方法进行绘图,并且会将所有内容绘制到自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,这样完成...UIView的显示。
iOS动画开发之三——UIView的转场切换 前两篇博客中,我们分别介绍了UIView动画的两种使用方式,分别为,带block的方式:http://my.oschina.net/u/2340880...通过UIView动画的类方法,我们可以十分方便的使View某些属性改变的同时拥有动画效果。这篇博客主要讨论View切换的动画操作。 ...,任何其子视图的改变或者其自身的改变都会触发转场动画的效果, 系统提供的转场效果在第一篇博客中已经介绍过。 ...,用于切换两个view,通过执行这个方法,会将formView从其父视图上移除,将toView重新粘在其父视图上,展现一个动画效果。 ...通过使用上述两个方法,你会发现某些效果会非常突兀,比如想要改变视图的颜色,它会在转场动画播放完成后,颜色突然的变化,要改善这一效果,我们需要设置options参数包含:UIViewAnimationOptionAllowAnimatedContent
iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB;创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard。...awakeFromNib] -[ViewController loadView] -[ViewController viewDidLoad] -[ViewController viewDidAppear:] 如果纯代码创建UIView...,调用方式为YFView *yfView = [[YFView alloc]init];那么它的生命周期为: -[YFView initWithFrame:] -[YFView init] -[YFView...layoutSubviews] 如果纯代码创建UIView,调用方式为YFView *yfView = [[YFView alloc]initWithFrame:[UIScreen mainScreen...].bounds];那么它的生命周期为: -[YFView initWithFrame:] -[YFView layoutSubviews] 如果通过XIB创建UIView,调用方式为NSArray *
IOS笔记CALayer的position和anchorPoint CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position;...用来设置CALayer在父层中的位置 以父层的左上角为原点(0,0) @property CGPoint anchorPoint; 称为”定位点” ,“锚点” 决定着CALayer身上的哪个点会在...poistion属性所指的位置 以自己的左上角为原点(0,0) 它的x,y取值范围都是0~1默认值为(0.5,0.5) 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
https://blog.csdn.net/u010105969/article/details/53393737 在开发过程中我们有时需要单独设置UIView的坐标x或y或width或height...,可如果直接设置我们发现并不能直接设置: 如代码: imageV.frame.origin.x = 0; 这样的代码是错误的,我们需要先获取获取UIView的frame,然后设置获取到的frame的一些属性...,最后再将设置完成后的frame赋值给UIView。...增添一个分类,分类代码: // // UIView+Frame.m // // Created by apple on 15-3-5. // Copyright (c) 2015年 apple...All rights reserved. // #import "UIView+Frame.h" @implementation UIView (Frame) - (void)setX:(CGFloat
哪些属性可以添加动画效果 根据 iOS 视图编程指南中说明, UIView 内置支持为下列属性添加动画效果: Frame 可以改变视图相对于上一级视图的位置和大小。...来定义动画代码段, 在 begin 和 commit 之间的代码会在特殊的动画线程中运行, 因此不会阻塞主线程, 比如说要切换两个视图, 代码应该是这样子的: [UIView beginAnimations...创建视图切换动画 视图切换动画可以减少修改可视化树时引起的界面上的突变, iOS 系统中大量使用了视图切换动画, 视图切换动画主要有下面两种场景: 修改子视图 替换子视图 注意: 不要把视图切换和视图控制器的切换混淆...修改子视图 可以修改子视图的可见性用来表示当前视图的不同的状态, 看下面的两个视图切换的例子,在 iOS 4.0 之前, 需要将视图切换动画添加到 Begin/Commit 动画之间, 代码如下: 在...替换子视图 要进行子视图的替换, 需要用到 transitionFromView:toView:duration:options:completion: 方法, 示例代码如下: UIView *fromView
*)subview 参数 subview 被添加做子视图的视图对象 讨论 被子类重写用来执行额外的命令当子视图添加到接收者。...)insertSubview:(UIView *)viewatIndex:(NSInteger)index 参数 view 插入的视图,这个值不能是nil index 子视图索引从0开始并且不能大于子视图的数量...- (BOOL)isDescendantOfView:(UIView *)view 参数 view 一个视图用来测试子视图在视图层次中的关系 返回值 如果接收者是视图的子视图就返回YES...消息或者子视图从接收者视图层次中移除因为它要被添加到其他视图了 3 UIView动画 3.1 概述 UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验...如果一个子视图的区域超过父视图的bound区域(父视图的clipsToBounds属性为NO,这样超过父视图bound区域的子视图内容也会显示),那么正常情况下对子视图在父视图之外区域的触摸操作不会被识别
线性布局是一种里面的子视图按添加的顺序从上到下或者从左到右依次排列的单列(单行)布局视图,因此里面的子视图是通过添加的顺序建立约束和依赖关系的。...子视图从上到下依次排列的线性布局视图称为垂直线性布局视图,而子视图从左到右依次排列的线性布局视图则称为水平线性布局。...相对布局是一种里面的子视图通过相互之间的约束和依赖来进行布局和定位的布局视图。相对布局里面的子视图的布局位置和添加的顺序无关,而是通过设置子视图的相对依赖关系来进行定位和布局的。...框架布局是一种里面的子视图停靠在父视图特定方位并且可以重叠的布局视图。框架布局里面的子视图的布局位置和添加的顺序无关,只跟父视图建立布局约束依赖关系。...表格布局是一种里面的子视图可以像表格一样多行多列排列的布局视图。子视图添加到表格布局视图前必须先要建立并添加行视图,然后再将子视图添加到行视图里面。
:返回nil; •若返回YES,则向当前视图的所有子视图(subviews)发送hitTest:withEvent:消息,所有子视图的遍历顺序是从top到bottom,即从subviews数组的末尾向前遍历...,直到有子视图返回非空对象或者全部子视图遍历完毕; •若第一次有子视图返回非空对象,则hitTest:withEvent:方法返回此对象,处理结束; •如所有子视图都返回非,则hitTest:withEvent...如果一个子视图的区域超过父视图的bound区域(父视图的clipsToBounds属性为NO,这样超过父视图bound区域的子视图内容也会显示),那么正常情况下对子视图在父视图之外区域的触摸操作不会被识别...,因为父视图的pointInside:withEvent:方法会返回NO,这样就不会继续向下遍历子视图了。...所在视图转换到目标视图view中,返回在目标视图view中的rect •- (CGRect)convertRect:(CGRect)recttoView:(UIView*)view; •//将rect
领取专属 10元无门槛券
手把手带您无忧上云