首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从带动画的SuperView中删除UIVIew

从带动画的SuperView中删除UIVIew时,可以使用以下方法:

  1. 使用UIView.animate方法,将动画时间设置为0,然后在动画结束时调用removeFromSuperview方法。
代码语言:swift
复制
UIView.animate(withDuration: 0, animations: {
    view.alpha = 0
}, completion: { _ in
    view.removeFromSuperview()
})
  1. 使用CATransaction类来设置动画时间为0,然后在动画结束时调用removeFromSuperview方法。
代码语言:swift
复制
CATransaction.begin()
CATransaction.setAnimationDuration(0)
view.layer.removeAllAnimations()
view.removeFromSuperview()
CATransaction.commit()
  1. 使用UIView.performWithoutAnimation方法来暂时禁用动画,然后调用removeFromSuperview方法。
代码语言:swift
复制
UIView.performWithoutAnimation {
    view.removeFromSuperview()
}

以上方法都可以在带动画的SuperView中删除UIVIew,并且不会影响到其他子视图的动画效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

View编程指南(三)

要搜索tagview,请使用UIViewviewWithTag:方法。 此方法执行接收器及其subview深度优先搜索。 它不搜索superview或view层次结构其他部分。...实际上,建议这样做是因为它会阻止您应用程序保留一次太多view,并在稍后导致内存泄漏。 请记住,如果您其supview删除subview并打算重用它,则必须再次保留该subview。...因此,隐藏view通常是view层次结构删除view一种方便替代方法,特别是如果您计划在不久将来再次显示view时。...这些方法类似于UIView版本,除了不是view局部坐标系转换而是window坐标系转换而来。...动画块是启动view相关更改另一个常见位置。内置到UIView动画支持可以轻松地将更改设置为查看属性。

1.7K30

【IOS开发基础系列】UIView专题

这个只发生在接收者父视图上移除或者接收者添加到父视图中而不是添加到window。...removeFromSuperview     把接收者父视图或者窗口移除,并在响应链移除。...消息或者子视图接收者视图层次移除因为它要被添加到其他视图了 3 UIView动画 3.1 概述         UIView视图动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅动画效果,进而改善用户体验...使用CATransition类实现动画,只需要建立一个Core Animation对象,设置它参数,然后把这个参数过渡添加到图层即可。         ...view,返回在目标视图viewrect - (CGRect)convertRect:(CGRect)rect toView:(UIView*)view; // 将rectview中转换到当前视图中

34730

iOS学习——UIView研究

在iOS开发,我们知道有一个共同基类——NSObject,但是对于界面视图而言,UIView是非常重要一个类,UIView是很多视图控件基类,因此,对于UIView学习闲非常有必要。...下面主要通过学习UIView.h文件来了解UIView主要提供了那些方法和属性,UIView.h源码来看,UIView.h结构主要分为4个部分: 常用枚举类型定义,主要包括 视图动画曲线 UIViewAnimationCurve...< 自动调整与superView底部距离,也就是说,与superView顶部距离不变. 57 }; 58 59 /** UIView动画选项 */ 60 typedef NS_OPTIONS...< 系统删除动画 110 } NS_ENUM_AVAILABLE_IOS(7_0); 111 112 typedef NS_ENUM(NSInteger, UIViewTintAdjustmentMode..., fromView removed from its superview 415 416 /** 在一个或多个视图上执行指定系统提供动画,以及定义可选并行动画 */ 417 + (void)performSystemAnimation

2.7K80

View编程指南

UIKit每个View都由一个layer对象(通常是CALayer类一个实例)支持,这个layer管理View后备存储并处理与View相关动画。你执行大多数操作应该通过UIView接口。...这种延迟使您有机会使多个view失效,层次结构添加或删除view,隐藏view,调整view大小,并一次重新定位view。然后你所做所有改变都会同时反映出来。...UIView许多属性都是可以动画,也就是说,存在从一个值到另一个值动画半自动支持。要为其中一个动画属性执行动画,您只需执行以下操作: 告诉UIKit你想要执行一个动画。 更改属性值。...你可以在UIView对象上动画属性如下: Frame - 使用此动画设置为view更改位置和大小变化。 bounds - 使用这个动画来改变view大小。...view controller提供了许多重要行为,例如协调屏幕上view显示,协调屏幕上删除这些view,响应低内存警告释放内存,以及响应接口方向更改而旋转view。

2.2K20

自定义一个浮层弹窗视图

CoreAnimation是iOS实现动画框架,整个iOS动画(比如UIView中封装动画、UIViewController切换时转场动画、UITableViewCell移除增添时动画等,...动画相关接口,它能够实现我们日常开发80%以上动画效果,可以处理frame、alpha、transform等,但是UIView内置动画是不能自定义中间状态,也就是说,不能实现关键帧动画。...这些UIView内置动画,实际上都是对CoreAnimation动画封装。...写在最后 UIKit框架各组件自带各种动画效果,实际上都是对CoreAnimation这个框架相关接口封装。...通过UIView系统封装好动画,我们可以实现日常开发80%动画需求,剩下一些较复杂动画,可以使用CoreAnimation来自定义。

1.3K30

谈谈Swiftextension

首先我们要明确,Ruby之所以可以这么写是因为它是一个纯面向对象语言,在Ruby世界,一切皆对象,所有的事物都有一个共同祖先——Object。...而在Swift,Int是一个struct(结构体),并不是个class。但是Swiftstruct与别的语言中struct不同是,struct内部也可以定义方法。...譬如我最近在自己项目中给被点击UIView(比如button)写了一个小动画,点击了之后组件会上浮一下,并且同时会有一下阴影效果。...因为我在项目中Button是一个自定义贪婪Button,只要点击Button父视图就会响应点击事件,所以是Buttonsuperview调用了animateWhenClicked,这也是我把这个动画扩展到...UIView而不是UIButton原因。

50220

IOS开发系列——UIView专题之二:动画篇【整理,部分原创】

UIKit直接将动画集成到UIView,实现简单动画创建过程。UIView类定义了几个内在支持动画属性声明,当这些属性发生改变时,视图为其变化过程提供内建动画支持。...执行动画所需要工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性代码包装到一个代码块。...使用CATransition类实现动画,只需要建立一个Core Animation对象,设置它参数,然后把这个参数过渡添加到图层即可。...讨论 如果设置为YES那么当动画在运行过程,当前视图位置将会作为新动画开始状态。如果设置为NO,当前动画结束前新动画将使用视图最後状态位置作为开始状态。...setAnimationCurve: 设置动画动画属性变化曲线。

1.2K10

类似3D效果_CGAffineTransformScale

,过渡持续时间是1.5秒,延迟0秒,效果为UIViewAnimationOptionCurveEaseOut淡出,同时把故事版label在y轴与auxLabel反向平移相同距离,从而造成很微妙效果...完成后,把label文字设置与auxLabel一样,把label还原为刚开始样子,并把auxLabelSuperview移除 现在从上往下翻页效果已经出来了,但是看起来怪怪,我们要做是一个类似的...变换方法比较简单,难主要是里面的逻辑 10.27 添加新功能:关键帧动画 之前文章说过UIView.animate这个方法,把多个动画链接在一起,可能你会想到在这方法里面嵌套多个这个方法,达到多个动画链接...但是这样复杂一点动画,你会崩溃。。 所以我们可以将整个动画分成几个不同阶段,或者关键帧,然后将单个关键帧组合成一个关键帧动画。...,指定时间和持续时间是相对于关键帧动画整个时间,例如,0.1是10%,0.25是25%,而1.0是整个持续时间100%。

1.1K70

View编程指南(四)

在iOS动画广泛用于重新定位view,更改大小,将其view层次结构移除,并将其隐藏起来。 您可以使用动画将反馈传达给用户或实现有趣视觉效果。...在UIKit动画是使用UIView对象执行。 view支持一组涵盖许多常见任务基本动画。...使用核心动画,您可以为您viewlayer设置以下类型更改: layer大小和位置 执行转换时使用中心点 转换到三维空间中layer或其sublayer layer分层结构添加或删除layer...例如,您可以添加或删除subview以在两种不同状态之间切换superview。在动画完成时,显示相同view,但其内容现在不同。...在传递给此方法动画,通常动画唯一更改是与显示,隐藏,添加或删除子view相关更改。将动画限制为该集合允许view创建view之前和之后版本快照图像,并且在两个图像之间创建动画,这更高效。

61410

IOS开发系列——Masonry手写Autolayout专题【整理,部分原创】

可以看到superview已经按照我们预期居中并且设置成了适当大小 那么先看看这几行代码 //从此以后基本可以抛弃CGRectMake了 UIView *sv = [UIView new]; //...superView 1.1.2 [初级] 让一个view略小于其superView(边距为10) UIView *sv1 = [UIView new]; [sv1 showPlaceHolder]...不过,mas_remakeConstraints是删除之前constraint,然后再添加新constraint(适用于移动动画);而mas_updateConstraints只是更新constraint...Masonry 在TableCell增加子控件时,无法正常使用Masonry来进行布局,可能是Cell重用引起。...下一个runloop执行,所以如果要在布局完成后顺序执行某些处理(例如开始进行自定义绘制或者异步绘制),最好手动放到main_queue下一个runloop执行,确保布局完成后才开始执行代码。

70010

【iOS】UI基础Day1-笔记(拖线、UIView方法、属性等)

:]: this class is not key value coding-compliant for the key 解决办法:删除多余连线 找不到对应方法 'NSInvalidArgumentException...', reason: '-[ViewController delete2]: unrecognized selector sent to instance >解决办法:添加对应方法或者删除多余连线...UIView介绍 控件:界面所有元素 控件共有属性:尺寸、位置、背景色等等 - 控件共有属性封装在其父类——UIView UIView常见属性 superView:查看父控件 NSLog(@"...%@",self.greenView.superview); subView:查看子控件 NSLog(@"%@",self.greenView.subviews); 查看View控件数量 NSLog...self.view.superview); } ---- UIView常见方法 addsubView :添加一个子控件 //实例化一个switch UISwitch *sw1 = [[UISwitch

50020

贝塞尔曲线之爱琴海 -- 定不负相思意

在本案例,采用是C语言库颜色,因此需要用到桥接方式将C对象转换成OC对象。...新创建一个代表爱心类,并且加入爱心图片文件拖入到文件。 在类定义一个初始化方法,该方法用于设置爱心能到达最大高度和宽度,以及初始位置和它父视图。...用来确定哪个位置产生爱心。而这个爱心宽度是随机,所以也要创建一个随机函数。...self.frame = [self getRandomFrameWithFrame:frame]; [superView addSubview:self]; } 到原始类调用爱心类...本案例是ViewController类。 先导入爱心类。而该案例标语是神秘,浪漫。所以这里用触摸屏幕方式来触发动画。并且,过盈则亏,我们总不可能让爱心充满整个屏幕吧。

819100
领券