登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

自定义弹出框和toast

[复制链接]
来自: darren_chenchen 分类: iOS精品源码 上传时间: 2017-7-10 09:54:09
Tag:

项目介绍:

github地址:https://github.com/Darren-chenchen/PopAlert

效果图

logo

使用方式

1.展示标题、内容、左右按钮

logo

PopViewUtil.alert(title: "提水", message: "服务失败失败", leftTitle: "取消", rightTitle: "确定", leftHandler: {
        print("左")
   }, rightHandler: { 
        print("右")
  })

2.展示内容,左右按钮

logo

PopViewUtil.alert(message: "服务器登服务器登服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败服务器登录失败录失败录失败录失败", leftTitle: "取消", rightTitle: "确定", leftHandler: {
        print("左")
    }, rightHandler: {
        print("右")
    })

3.展示一个按钮

logo 方式1

PopViewUtil.alert(message: "测试左边按钮置为空", leftTitle: "", rightTitle: "确定", leftHandler: {
        print("左")
    }, rightHandler: {
        print("右")
    })

方式2

PopViewUtil.alert(message: "测试右边按钮置为空", leftTitle: "确定", rightTitle: "", leftHandler: {
        print("左")
    }, rightHandler: {
        print("右")
    })

4.展示纯文本提示框(toast)

logo

// 默认展示在window上,默认2秒消失
PopViewUtil.showMessage(msg: "展示纯文本,在window上默认2s")

// 展示在指定view上默认2秒
PopViewUtil.showMessage(msg: "", onView: self.view)

// 以上2个方法应该是足够满足项目需求了,下面这个方法比较长,主要是把所有的扩展都放在里面了,对于特定的需求可以用下面的方法展示,
PopViewUtil.showMessage(msg: "展示纯文本,在指定view上。指定3s", success: nil, inView: self.view, duration: 13)

5.带有图片的提示框

logo

PopViewUtil.showMessage(msg: "展示有图片的成功消息,默认在window上,默认2s", success: true, inView: nil, duration: nil)
        
PopViewUtil.showMessage(msg: "展示有图片的失败消息,在指定view上,指定3s", success: false, inView: self.view, duration: 3)

对于控件的详细描述

1.对于alert弹框:

缺点:该弹框控件适用于全局的设置弹框的需求,比如:如果UI需求是多样化的,即有的界面左边按钮的颜色是黑色,右边是红色,有的页面左边是绿色右边是蓝色,那么就需要对方法进行扩展,把color传递进去。

优势:如果样式是全局的,那么到指定的xib文件中去修改样式就好了,不需要关心过多的布局

修改alert的宽度:

// 宽度的设置要在layoutIfNeeded方法之前 
self.nomalView.hd_width = 100
// 赋值后注意重新布局一下,不然如果xib中lable没有设置文字,view的尺寸会不对
self.nomalView.layoutIfNeeded()

2.对于toast

2-1、toast支持展示在任意的view上,默认展示在window上,默认显示时间2s,由于展示在window上时界面切换了,提示信息还存在,所以就将toast扩展到可以放在指定view上。

2-2、toast的结构 logo

可以在HDToast文件中修改字体大小、文本框的最小宽度、默认时长、禁止动画、文本框内间距等。

2-3、关于toast的动画:如果禁止动画效果直接将 self.textToastView?.layer.add(shakeAnimation, forKey: nil) 注释掉,如果需要再某一个页面禁止动画可设置 HDToast.share.animationFromValue = 1 但是要注意一点,由于是单例,所以如果想在某一个界面禁止动画其余界面还要打开动画,就需要再合适的地方设置其为0.8,不然其他地方的动画也会消失。

2-4、关于toast的位置注意点:如果toast位置靠近屏幕底部在一些特殊的地方,比如多个文本框(注册)时容易出现键盘遮挡toast的情况,这时可以在适当的时候让键盘退出

DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+0.1, execute: {

            self.view.endEditing(true)
        })

相关源码推荐:

我来说两句
*滑动验证:
所有评论(5)
kengsir 2017-7-11 21:03:28
感谢分享,楼主V5~
回复
phoiu 2017-7-11 21:05:50
内容很好,棒棒哒
回复
hellokenken 2017-7-11 21:07:38
小弟学习了~支持,支持
回复
AlonMessi 2017-7-11 21:12:53
支持,感谢,祝code4app越来越好~
回复
littleRed 2017-7-11 21:16:17
不错不错,楼主辛苦了。。。
回复
BlueManlove 2017-7-11 21:16:58
相当不错,感谢无私分享精神!
回复
liuxiaofeilie12 2017-7-12 10:10:14
学习学习!
回复
code4app热心网友 2017-7-12 14:25:50
淡定,淡定,淡定……
回复
WARRON 2017-7-12 14:56:02
我只是路过打酱油的。
回复
提取码:  下载次数:136 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
3713 0 136
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表