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

教你如何自定义AlertView

本文就介绍如何自定义alertView,看完你就懂得制作属于自己的alertView了 一、创建DWAlert.swift 创建一个类名为DWAlert.swiftclass DWAlert:...上面代码const是为了定义弹出框需要的坐标和长宽,由于是不变,所有let修饰,与OC的常量类似 二、绘制alertView 写一个继承init的方法,把title(alert标题),content...方法添加的backImageView背景蒙版 2、获取当前主窗口,定义一个alertView的frame 3、利用UIView.animate对alertView进行动画操作。...坠落效果 willMove(toSuperview newSuperview: UIView?)...五、使用DWAlert ViewController创建一个按钮,添加一个点击事件ClickMe,方法里面创建alertView @IBAction func ClickMe(_ sender:

1.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

《Motion Design for iOS》(十七)

让我们先添加一个简单的UIView对象到屏幕上设置它的圆角。我们要把它添加到我们的主窗口上时因为它是一个快速的例子,但在真实的app界面你需要添加到管理当前界面的视图控制器。...对象设置了它的框架来定义它在屏幕上的的X和Y坐标,以及它的宽和高,然后将其添加到屏幕。...这里是和上面一样的功能,但是是Swift而不是Objective-C写的。你可以打开Balls In Swift Xcode工程导出这个例子的Swift版本。...iOS提供了一些内置的技术来创建动画:创建添加一个CAAnimation到我们之后要讨论的layer,或者使用简单的基于block的动画方法来动画化UIView的值。...接下来,动画(animations)安排使用了一个block代码作为值,block你可以设置你要动画的视图的最终状态。

93620

iOS开发常用之UI模糊效果、自动版式

模糊效果 FXBlurView - 是一个UIView子类,支持iOS5.0以上版本,支持静态,动态模糊效果,继承与UIView的模糊特效。...自动版式 Masonry - Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了具有高可读性(使用介绍1 使用介绍2),iOS自适应前段库-Masonry...SnapKit - 就是“snap”,--swift喜欢自动布局吗?当然喜欢!至少storyboard创建时会喜欢。...代码纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,板中用上它,你可以简单直观地编写约束了。...Cartography - Cartography是用来声明Swift的Auto Layout,无需输入任何字符串就职设置自己Auto Layout的约束声明。

1.6K30

Swift开发规范-修订版

,也可使用“原生类型名 +Extensions”的形式; 正例:UIView+Frame.swift / MessageViewController+Request.swift / UIViewExtensions.swift...同时private Swift 中会被隐式加上final修饰,从而得到优化。...【推荐】代码灵活的使用一些地标注释,如MARK、FIXME、TODO,当同一文件存在多种类型定义或者多种逻辑时,可以使用Mark进行分组注释,方便通过Xcode顶部面包屑进行切换; 代码示例: /...移除所有子View public func removeAllSubview() { subviews.forEach { $0.removeFromSuperview...形式处理异常,避免使用隐式解包; 【强制】避免判断语句嵌套层次太深,使用 guard 提前返回; 【推荐】如果 for 循环函数体只有一个 if 判断,使用 for where 进行替换; 【推荐】

1.7K50

AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建

下载好材料打开 TravelVlogs.xcodeproj 并转到 VideoFeedView.swift。 注意:视频可能无法模拟器播放。 真实设备上运行该应用程序将缓解该问题。...视频本身来自嵌入应用程序包的 JSON 文件。 如果您好奇,您可以查看 Video.swift 以了解它们是如何获取的。...2) 您使用初始值设定项创建 LoopingPlayerUIView 的新实例返回新实例。 3) SwiftUI 需要更新底层 UIView 时会调用此方法。 现在,将其留空。...要在 Swift 中使用 KVO——比 Objective-C 好得多——你需要保留对观察者的引用。...构建运行,然后转到全屏视频。 当您返回到feed时,预览会从停止的地方恢复。 6.

6.9K10

自定义一个浮层弹窗视图

CoreAnimation是iOS实现动画的框架,整个iOS的动画(比如UIView中封装的动画、UIViewController切换时的转场动画、UITableViewCell移除增添时的动画等,...,就将弹窗背景视图从父视图上移除即可。...展示浮层上的自定义提示视图的时候,我使用了UIView的动画,可以在这里实现浮层上的自定义提示视图展示时候的动画。 给浮层的背景视图添加一个点击手势,以点击的时候移除该浮层。...通过UIView的系统封装好的动画,我们可以实现日常开发80%的动画需求,剩下的一些较复杂的动画,可以使用CoreAnimation来自定义。...关于CoreAnimation,我之前写过一系列的文章,在这里罗列一下: 通过重写drawRect方法UIView中进行绘图 通过重写drawLayer:InContext:方法CALayer中进行绘图

1.4K30

iOS 面向协议封装全屏旋转功能

本篇文章只有一个目的,那就是只要遵守协议,一行代码随意切换全屏~ 如果对面向协议有疑问的同学可以看下我之前的两篇文章 iOS - Swift 面向协议编程(一) iOS - Swift 面向协议编程...LXFProtocolTool/FullScreenable' 一、配置 若项目支持横屏(Landscape)则跳过此配置步骤 若项目只支持竖屏(Portrait)的话需要在AppDelegate实现如下方法...是否进入全屏 specifiedView UIView? 指定即将全屏的视图 superView UIView?...UIViewController, FullScreenable { } 2、指定视图进入全屏 lxf.enterFullScreen(specifiedView: cyanView) 3、指定视图退出全屏,添加到当前控制器的...lxf_FullScreenable_3 结语 到这里相关的说明已罗列完毕,有什么不清楚的可以下载Demo看看,或者文章下方留言提问 LXFProtocolTool 主要是通过协议的方式来方便快捷地实现一些的实用功能

1K60

声明式 UIKit 在有赞美业的实践

由于提供的是约束,强调视图“之间”的相互关系,意味着关系一旦定下来,修改约束(包括添加和移除视图),必定会影响到另一个视图的引用,从而导致代码移植性不高。...然而有赞美业是有赞最早迁移到 Swift 的项目,迁移 Swift 后的代码,对 C++ 的兼容其实有一定的局限性,若过多使用 C++,代码也不能体现 Swift 的优雅性。...2.2 布局设计 由于我们的结构和 API 设计是基于 UIView 的方式,布局设计,其实也是一个 View,一个具备布局能力的视图容器。布局能力我们是可以进行抽象的,即布局的算法。...相比于用 UIView 直接声明结构的形式,View 的创建是非常重的,重复创建不现实。UIView tree,View是可变的,只需要把变化的操作放入动画 block 即可由系统完成。...UIKit 的列表 UITableView, UICollectionView 日常开发扮演者重要的角色。

1.4K30

Swift 日常使用Tip

保留Struct默认初始化方法同时添加自定义的初始化方法 Swift的Struct都有个系统提供默认的包含所有成员遍量的init方法,如果我们添加自定义的init方法时,系统默认提供的就会消失,如果需要既可以保留系统默认的...,帮助我们定位错误,但将App编译为发布(Release)版本时,所有的assert()语句都会被移除.也就是说assert()只工作我们的代码开发调试(Debug)阶段....而precondition()则在编译Release版本时,不会被移除!!!,如果你希望发布后的App某种错误的情况闪退,就可以使用precondition() 5....设置UIView/NSView的指定圆角(限于iOS11.0+,macOS10.13) let redView = UIView(frame: CGRect(x: 70, y: 80, width...(armv7)) // 这段代码只真机运行 #endif

87830

iOS学习——UIView的研究

iOS开发,我们知道有一个共同的基类——NSObject,但是对于界面视图而言,UIView是非常重要的一个类,UIView是很多视图控件的基类,因此,对于UIView的学习闲的非常有必要。...iOS学习——iOS 整体框架及类继承框架图中列出了iOS中所有类的继承框架图,其中下面这张图就是iOS开发的界面相关类的继承框架图。 ?...>)coordinateSpace NS_AVAILABLE_IOS(8_0); 131 /** 将像素point由point所在视图转换到目标视图view,返回目标视图view的像素值 */ 132...:(nullable UIView *)view; 215 /** 将像素point由point所在视图转换到目标视图view,返回目标视图view的像素值 */ 216 - (CGPoint)convertPoint...:(CGPoint)point fromView:(nullable UIView *)view; 217 /** 将rect由rect所在视图转换到目标视图view,返回目标视图view的rect

2.7K80

iOS - Swift 面向协议编程(二)面向对象开发

上一篇文章iOS - Swift 面向协议编程(一) 已经对Swift的面向协议编程做了介绍,接下来该篇文章将使用面向协议开发(POP)来做下实际的应用 实际开发,自定义View基本上是必须的...,相信这对我们来说都是比较简单,不过我们还是来回顾一下下~ 面向对象开发 1 新建一个UIView的FirstTypeView ?...xib class 4 FirstTypeView.swift 实现一个类方法,方便我们外部用xib来初始化FirstTypeView import UIKit class FirstTypeView...面向协议开发 将BaseView删除,FirstTypeView和SecondTypeView改回继承于UIView 1 新建一个Swift文件 Nibloadable.swift ?...Self } } 3 遵守协议 class SecondTypeView: UIView, Nibloadable { var age: Int = 10 } 这样就可以了,而且你调用

57630

深入了解 iOS 的初始化

Objective-C ,子类会直接继承父类所有的初始化方法 Swift Swift ,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手 Swift...如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器 • 无论 Objective-C 还是 Swift ,都需要在便利初始化器调用指定初始化器 • Objective-C ,初始化的时候不需要保证所有属性...必须重写旧的定初始化器,在里面调用新的指定初始化器 • Swift ,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值 • Swift ,必须在初始化完成后才能调用实例属性...• Swift ,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利初始化器 • Swift ,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器...,那么就不会继承父类的指定初始化器和便利初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器 • Swift ,子类可以把父类的指定初始化器重写成便利初始化器 • Swift

96510
领券