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

如何像UIActionSheet一样从屏幕底部呈现UIView?

要像UIActionSheet一样从屏幕底部呈现UIView,可以使用自定义视图和动画。以下是一个简单的示例,展示了如何实现这个效果:

  1. 首先,创建一个自定义UIView类,例如BottomPopupView。
代码语言:swift
复制
import UIKit

class BottomPopupView: UIView {
    // 自定义视图的内容
}
  1. 在自定义视图中添加所需的内容,例如标签、按钮等。
  2. 在主视图控制器中,创建一个实例化方法来显示自定义视图。
代码语言:swift
复制
func showBottomPopupView() {
    // 创建一个自定义视图实例
    let bottomPopupView = BottomPopupView()
    
    // 设置视图的大小和位置
    bottomPopupView.frame = CGRect(x: 0, y: view.frame.height, width: view.frame.width, height: 200)
    
    // 将自定义视图添加到主视图中
    view.addSubview(bottomPopupView)
    
    // 使用动画来显示自定义视图
    UIView.animate(withDuration: 0.3) {
        bottomPopupView.frame = CGRect(x: 0, y: self.view.frame.height - 200, width: self.view.frame.width, height: 200)
    }
}
  1. 在需要显示自定义视图的地方调用showBottomPopupView()方法。
  2. 若要关闭自定义视图,可以在自定义视图中添加一个关闭按钮,并在其点击事件中执行以下代码:
代码语言:swift
复制
func dismissBottomPopupView() {
    UIView.animate(withDuration: 0.3, animations: {
        self.frame = CGRect(x: 0, y: self.superview!.frame.height, width: self.superview!.frame.width, height: 200)
    }) { _ in
        self.removeFromSuperview()
    }
}

这样,就可以实现类似UIActionSheet的从屏幕底部呈现UIView的效果。

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

相关·内容

IOS开发之视图和视图控制器

3.界面都是视图对象,即在UIView类的实例中进行布局,UIView表示屏幕上的一块矩形区域,负责渲染矩形区域中的内容,并且响应该区域内发生的触摸事件。...*) view 添加一个视图          视图的层次用index来区分,这个值0开始以步长1依次增加,index为0的时候代表视图层次的最底层,下面是苹果官方文档对Views的介绍的截图: ?...UIAlertView类在屏幕上弹出一个蓝色的警告框,而UIActionSheet类则从屏幕底部划出动作框 ?          ...上面视图部分先就说这么多吧,那么我们的视图控制器应如何使用呢?...那么我们如何给一个EmptyProject添加一个视图控制器呢?上面贴啦这么的多的图片啦,接下来让我们上点代码吧!

1.7K70

Cocoa编程中视图控制器与视图类详解

UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。...UITextView UILabel UIImageView UIWebView MKMapViews UIScrollView 可选择的视图(以下两个视图类实例都是模态显示的): UIAlertView UIActionSheet...视窗UIWindow虽然也是UIView,但不能用处理普通UIView的方式来设置; 2....推入时,新的视图控制器右方滑入屏幕(假定animated:YES)。向左指的Back后退按钮出现,可返回到上一步,且Back按钮用的是上一个视图控制器的标题。 2....UITabBarController类       选项卡类允许用户在多个视图控制器之间移动并在屏幕底部可定制该栏。

5K50

《Motion Design for iOS》(二十九)

这里是一个警告框的例子,有着位置和比例的动画,并且其出现和消失的动画都是在屏幕底部。...就已经被设为在动画开始前比例变小并且处于屏幕底部了,我们可以开始下一步了。...对于收回的动画,警告框会收缩并且跳回屏幕底部。如其他例子一样,我想要警告框有一个比起显示到用户面前时更快的动作。...变回屏幕底部 JNWSpringAnimation *translate = [JNWSpringAnimation animationWithKeyPath:@"transform.translation.y...原因是当translation动画移动得scale动画慢时,你会在警告框落回屏幕底部前看到更多的scale动画。我认为这种方式是一个很好的视觉效果,因为我加强了警告框退出的效果。

29020

深入详解iOS适配技术

最近,iPhone家族又诞生一款iPhoneSE,鉴于这款iPhoneSE的屏幕尺寸和iPhone5S的尺寸一模一样——同样是4.0英寸,广大iOS开发者可算是松了口气,不然iOS的屏幕尺寸真的是越来越让人眼花缭乱...开发的角度,重复繁琐的代码会牵绊住开发者的进度;程序设计角度,这样的设计思路不够高级,且日后不易于拓展和维护。)...和frame、bounds、center、transform等属性一样,autoresizingMask和autoresizesSubviews也是属于UIView的几何分类-UIViewGeometry...autolayout之所以能够进行屏幕适配,是因为他和autoresizing一样,都是对屏幕上的控件相对位置的设置,而不是绝对位置。...20 == 相当于设置了x 设置宽度等于100 设置高度等于100 4.约束警告 如果看到Storyboard中有黄色的箭头, 就是警告 > 警告代表着当前控件在storyBoard中呈现的位置或者尺寸和程序运行后实际呈现的效果不一样

8.4K70

UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

Motion Effects可以创建很酷视差效果,就像在倾斜iOS 7主屏幕时看到的一样。基本上,我们可以利用手机加速计提供的数据来创建对手机方向变化作出反应的接口。...可以看到你的方块慢慢地开始加速,直到它落在屏幕底部。 在刚刚添加的代码中,这里有几个动态类: UIDynamicAnimator是UIKit物理引擎。...屏障被认为是不可移动的,但是当两个物体在当前配置中碰撞时,屏障会被打破位置并开始向屏幕底部旋转。...更奇怪的是,屏障屏幕底部反弹并且不像平方那样安定下来 - 这很有意义,因为重力行为不会与屏障相互作用。 这也解释了为什么屏障不会移动,直到正方形与它碰撞。 现在需要一个不同的方法来解决问题。...方块现在从边界反弹,旋转一点,然后继续往屏幕底部前进的地方休息。 到目前为止,UIKit Dynamics的功能已经变得相当清晰:只需几行代码就可以完成很多工作。

1.8K30

将模型添加到场景中 - 在您的环境中显示3D内容

在本教程中,我们将学习如何检索模型并使用按钮的触发器将其呈现在场景中。一旦显示,我们将隐藏焦点方块。...定义约束以确保您的用户界面适应不同的屏幕尺寸或设备方向。设置为0的顶部,左,右和底部。确保它们都被约束到视图而不是安全区域,然后单击Add Constraints。...对象库中,将UIButton拖动到场景视图的顶部。在“ 属性”检查器中,删除“ 按钮”标题并将图像设置为“ 按钮/添加”。 约束到底部20但这次是在安全区域,并取消选中Constrain到边距。...导入套件(Kits) 与往常一样,用以下框架替换Foundation。然后,向ViewController添加扩展。...如果节点视角可见,它将返回true或false 。

5.4K20

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

VC和解散VC时,给出一个实现了UIViewControllerAnimatedTransitioning接口的对象(其中包含切换时长和如何切换)。...VC,我们希望它从屏幕下方出现,因此将初始位置设置到屏幕下边缘;     3.将view添加到containerView中;     4.开始动画。...在新版的Safari中,我们甚至可以用相同的手势来完成网页的后退功能(所以很大程度上来说屏幕底部的工具栏成为了摆设)。         ...我们在手势识别中只需要告诉这个类的实例当前的状态百分比如何,系统便根据这个百分比和我们之前设定的迁移方式为我们计算当前应该的UI渲染,十分方便。...其实根本来说它们所承担的是两类完全不同的任务:自定义VC容器可以提供自己定义的VC结构,并保证系统的各类方法和通知能够准确传递到合适的VC,它提供的transition方法虽然可以实现一些简单的UIView

29730

iOS 转场动画探究(二)

在转场期间,动画控制器对象负责把视图控制器的内容呈现屏幕上,但是可能也有一些其他的可视元素同样需要被展示。比如,一个显示控制器可能想执行显示或者使一些装饰视图消失视图控制器内容里分离出的动画。...2、转场协调器和动画控制器对象一块工作,确保任何额外动画被执行在同样的动画组中,就像转场动画一样。在一样的组拥有动画,意味着它们在同样的时间执行,并且可以响应一个动画控制器对象提出的任何时间改变。...你用这个协议中的方法所注册的block会确保执行一样的转场动画。...看上面效果图的第三个实例:       在第三个Demo中,也就是底部卡片的呈现形式中,我们把UIViewControllerTransitioningDelegate和UIViewControllerAnimatedTransitioning...EXAMPLE-SIX       导航控制器的转场       最后的这个翻页效果的Demo,其实你看着它3D的感觉,你想起了 CATransform3D 感觉就够了,通过下面这个方法来开始我们的导航转场

1.3K70

iOS 面试策略之系统框架-UIKit

关于手势具体如何控制球的移动,请向面试官询问。...我们假设面试官给出如下要求: 一开始小球静止,除非用户触摸屏幕,否则小球不动 按住屏幕并左右滑动,此时小球随手势线性左右滑动 松开手,小球当前位置滑动到水平初始距离向右 200 points 处,整个移动过程是先快后慢的效果...当再次触摸屏幕时,如果小球未滑动到终点,则小球将暂停滑动,再次随手势线性滑动 当到达终点后,无论用户如何触摸屏幕,小球在终点静止不动 如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群931542608...跟很多面试题一样,它没有说明起始和终止的 UIImageView 是否在一个应用之内。...UIDragItem 则是对 NSItemProvider 的进一步封装,除了包含传输数据外,还可以自定义一些数据。 实现完该方法后,图片就可以 dragImageView 里拖动出来了。

1.3K20

iOS 转场动画探究(二)

在转场期间,动画控制器对象负责把视图控制器的内容呈现屏幕上,但是可能也有一些其他的可视元素同样需要被展示。比如,一个显示控制器可能想执行显示或者使一些装饰视图消失视图控制器内容里分离出的动画。...2、转场协调器和动画控制器对象一块工作,确保任何额外动画被执行在同样的动画组中,就像转场动画一样。在一样的组拥有动画,意味着它们在同样的时间执行,并且可以响应一个动画控制器对象提出的任何时间改变。...你用这个协议中的方法所注册的block会确保执行一样的转场动画。...看上面效果图的第三个实例:       在第三个Demo中,也就是底部卡片的呈现形式中,我们把UIViewControllerTransitioningDelegate和UIViewControllerAnimatedTransitioning...EXAMPLE-SIX       导航控制器的转场       最后的这个翻页效果的Demo,其实你看着它3D的感觉,你想起了 CATransform3D 感觉就够了,通过下面这个方法来开始我们的导航转场

82340

iOS开发常用之 HUD 弹窗

MMProgressHUD - 设置HUD出现和消失的方式(包括上下,左右,淡入淡出,放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画,动态图片等等),设置HUD出现时的底部覆盖层颜色,等等...MJPopupViewController - 实现弹出视图的各种弹出和消失效果,包括淡入淡出(淡入,淡出),屏幕上方飞进,下方飞出,屏幕左方飞进,右方飞出等等效果,弹窗。...PSTAlertController - 兼容iOS7的XXAlertController,接口跟UIAlertController一模一样,做到高版本通用。...GSAlert.swfit - 苹果在iOS8推出了全新的UIAlertController,旧的UIAlertView和UIActionSheet渐渐被废弃,但如果你仍然支持iOS7系统,你将不得不写两套代码...CustomPopOverView - 自定义弹出视图,内容支持传一组菜单标题,也支持自定义view,或者自定义viewController,支持任意按钮触发,会显示在按钮底部,也支持切换按钮的对齐方式

4.1K20

iOS 渲染原理解析

这时屏幕就会重新扫描呈现出上一帧一模一样的画面。相当于两个周期显示了同样的画面,这就是所谓掉帧的情况。 [1727431b06dc54b6?...那么 CALayer 究竟是如何进行管理的呢?另外在 iOS 开发过程中,最大量使用的视图控件实际上是 UIView 而不是 CALayer,那么他们两者的关系到底如何呢?...,会 CALayer 中读取生成好的 bitmap,进而呈现屏幕上。...w=296&h=212&f=png&s=21349] 如上图所示,layer 由三层组成,我们设置圆角通常会首先下面这行代码一样进行设置: view.layer.cornerRadius = 2 根据...Screen Tearing 屏幕撕裂是怎么造成的? 如何解决屏幕撕裂的问题? 掉帧是怎么产生的? CoreAnimation 的职责是什么? UIView 和 CALayer 是什么关系?

2K50

Core Animation Programming

UIView 一样,CALayer 也是有自己的父图层类,以及同样拥有子图层类的集合. 它构成了一个图层树的层次结构....CAlayer Application Kit 与 Cocoa Touch 的视图类分离出来了. UIView and CALayer relationship....实际上,这背后的关联的图层才是真正用来在屏幕上显示和做动画的.UIView 就是对CALayer图层的封装,提供用户交互接口....图层数结构 每个可见的图层树,都由2个相应的树组成.一个是呈现树,一个是渲染树....图层树: 包含每一层的对象模型值.其实就是开发者设置的图层的属性值 呈现树: 包括当前动画发生时候将要显示的相应的值,例如,你要给图层背景颜色设置新的值的时候,它就会立即修改图层树里对应的值.但是在呈现树里面的背景颜色值将要现在给用户的时候才会更新为新值

1.1K10

《手管iPhoneX的适配总结》

如果你也跟我一样一下子没找到新建iPhoneX的入口..  ...那就粗暴地删掉重新新建了一个 此类多张尺寸图的Asset文件夹,我们往往还会进行一个操作,就是修改Content.json,令部分相同比例的尺寸共用同一个资源图(直接拖进Asset会直接创建一个新文件的...Apps for iPhone X (https://developer.apple.com/videos/play/fall2017/201/) -> 主要提及SafeArea的概念以及横屏情况下的区域如何设计...另外,比较关注的是新交互方式下,底部的一些屏幕适配问题:能想到的比较多的场景,就是底部的一些按钮与“Home键”重合了,直接上调按钮位置,按钮底部View拉长亦可以解决这问题。...是NavigationBar的bottom开始的。

41620

View编程指南

View架构基础 大部分你可能想要做的事情都是通过view对象来完成的 - UIView类的实例。view对象在屏幕上定义了一个矩形区域,并处理该区域中的drawing和touch事件。...View的绘图周期 UIView类使用按需绘制模型来呈现内容。当一个view第一次出现在屏幕上时,系统要求它画出其内容。系统捕获此内容的snapshot,并将该snapshot用作view的视觉表示。...当view第一次显示时,它往常一样渲染其内容,并将结果捕获在底层位图中。之后,对view’s geometry的更改并不总是会导致重新创建位图。...View的几何和坐标系统 UIKit中的默认坐标系统的原点位于左上角,并具有原点向下和向右延伸的轴。 坐标值使用浮点数来表示,无论底层的屏幕分辨率如何,都可以精确地布局和定位内容。...view controller提供了许多重要的行为,例如协调屏幕上的view显示,协调屏幕上删除这些view,响应低内存警告释放内存,以及响应接口方向更改而旋转view。

2.2K20
领券