SwiftNotice 发布——纯 Swift 编写的弹出提示及“菊花会动”库

2015-4-16   /   字数:540   /   阅读数:23770   /   分类: iOS & Swift     

Github地址: https://github.com/johnlui/SwiftNotice

SwiftNotice 是一款用纯 Swift 编写而成的弹出提示及“菊花会动” UI 组件库,无需任何图片,支持任何滚动视图。

效果展示

Image

使用方法

在任何继承自 UIViewController 的类中都可以直接使用:

self.pleaseWaite()

self.notice("Success!", type: NoticeType.success, autoClear: true)

self.notice("Error!", type: NoticeType.error, autoClear: true)

self.notice("Info", type: NoticeType.info, autoClear: true)

self.noticeOnlyText("Only Text")

// clear all
self.clearAllNotice()

安装方式

下载 SwiftNotice.swift 并拖入你的 Xcode 工程。

版本要求

* iOS 7.0+

* Xcode 6.3

* Swift 1.2

WRITTEN BY

avatar

评论:

zhang
2018-01-25 10:49
但是我在 Xcode 9.2  swift4 中测试  在 viewwillAppear 里面使用会报错。 window.center = rv!.center  这里报错Unexpectedly found nil while unwrapping an Optional value  
       下面是我调用的代码:
        SimpleCoreBluetooth.sharedInstance.startSearchDeviceWithFilter(second: 10.0,filter: { () -> ([String]) in
            return ["cool"] //
            
        }) { (deviceList) in
            
            print(deviceList) // 回传的列表
            self.deviceList = deviceList
            self.tableView.reloadData()
            self.clearAllNotice()
            
        }
        
        self.pleaseWait()
JohnLui
2018-01-25 11:06
@zhang:这时候还没有根 ViewController,至少需要放到 DidAppear 中。
zhang
2018-01-25 10:40
感谢分享,很好。使用起来很方便。
说啥
2016-09-07 12:22
有一个问题,点击提示框后,设置的自动消失就没用了,需要再次点击提示框才消失,请指教
zero思念的力量
2016-06-24 10:22
太给力了,正是我需要的效果,感谢楼主无私分享,有时间我也要好好研读一下,太厉害了
23号聪明莉
2016-03-28 10:49
在网络请求之前调用了self.pleaseWait() ,触发事件后没有立即弹出菊花 等了好几秒 感觉网络请求成功后才弹出菊花 求大神指点
JohnLui
2016-03-28 11:05
@23号聪明莉:目测网络请求占用了主线程
@23号聪明莉
2016-03-28 22:00
@JohnLui:本人小白 请问大神如何解决 能否贴下示例代码
JohnLui
2016-03-28 22:07
@@23号聪明莉:。。。。。。意思是你的网络代码是在主线程执行的,阻塞了主线程,UI 修改只能在主线程执行,自然被阻塞了。上什么示例代码。。。哪来的示例代码。。。。

解决方案就是你去学习一下在子线程进行网络请求的方法。
@23号聪明莉
2016-03-28 22:14
@JohnLui:谢谢大神 已解决
1111111
2016-01-12 16:45
用框架会改变statusBar样式怎么破
kermit
2015-12-16 09:41
你好,使用你的控件的时候发现一个问题,就是在网络请求回调的函数里调用弹出notice的时候,要等一二十秒才能弹出,很慢
JohnLui
2015-12-16 10:34
@kermit:那说明网络请求过了很长时间才响应呀。。。。
kermit
2015-12-16 10:41
@JohnLui:我是网络请求回来之后调用的,打印的东西都出来,代码肯定是执行了,就是等半天才出来,我设置了autoClear是true,等很久出来之后也不会自动关闭
JohnLui
2015-12-16 12:47
@kermit:应该是因为主线程被阻塞了
kermit
2015-12-16 13:41
@JohnLui:你好,刚才那个在回调里出来慢的问题已经解决了
dispatch_async(dispatch_get_main_queue()){
                        self.noticeSuccess("登录成功", autoClear: true)
                    }
用这段代码就可以正常了
JohnLui
2015-12-16 13:43
@kermit:这说明你的网络库有问题。。。在子线程里执行了不确定的代码,很容易奔溃的。。。。
竹菜板
2015-10-13 21:20
发现一个问题,使用菊花时,不能屏蔽屏幕响应吗?
JohnLui
2015-10-13 22:24
@竹菜板:可以自己屏蔽。有人不需要屏蔽的。其实从交互原则来说,不屏蔽最好。
竹菜板
2015-10-14 10:46
@JohnLui:老师,我是新手,不知道用什么最简便的方法结合你的 转圈 来屏蔽用户操作,感觉既然用到了菊花,那肯定是在网络请求数据或是读取大数据,是不想用户操作的,不然用普通提示好了啊。请大神指点一二~谢谢!
JohnLui
2015-10-14 10:50
@竹菜板:self.view.userInteractionEnabled = false
竹菜板
2015-10-14 13:35
@JohnLui:好,谢大神!
codepapa
2015-05-31 00:07
这个方便好用。
kee
2015-04-20 23:14
如果换个名字说不定会火= =!(逃~

发表评论:

© 2011-2024 岁寒  |  Powered by Emlog