在CosmicMind /资料库中,我如何开始(显示)小吃栏?
我试着准备好snackbarController,然后在用户单击按钮时显示它。
如他们的例子所示:
private var undoButton: FlatButton!
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
prepareSnackbar()
animateSnackbar()
}
@IBAction func loginBtnTapped(_ sender: AnyObject) {
sc?.show(vc: UIViewControlle, sender: Any)//doesn't show
more code... (which works)
}
private func prepareUndoButton() {
undoButton = FlatButton(title: "Undo", titleColor: Color.yellow.base)
undoButton.pulseAnimation = .backing
undoButton.titleLabel?.font = RobotoFont.regular(with: 14)
}
private func prepareSnackbar() {
guard let sc = snackbarController else {
return
}
sc.snackbar.text = "Reminder saved."
sc.snackbar.rightViews = [undoButton]
}
private func animateSnackbar() {
guard let sc = snackbarController else {
return
}
_ = sc.animate(snackbar: .visible, delay: 1)
_ = sc.animate(snackbar: .hidden, delay: 4)
}所以我在一个空的项目上试了一下,但是snackbar仍然不起作用。你能指出我做错了什么吗?
import Foundation
import UIKit
import Material
class MainViewController: UIViewController {
private var undoButton: FlatButton!
open override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = Color.red.accent1
prepareUndoButton()
}
open override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
//prepareSnackbar()
//animateSnackbar()
}
private func prepareUndoButton() {
undoButton = FlatButton(title: "Undo", titleColor: Color.yellow.base)
undoButton.pulseAnimation = .backing
undoButton.titleLabel?.font = RobotoFont.regular(with: 14)
}
private func prepareSnackbar() {
guard let sc = snackbarController else {
return
}
sc.snackbar.text = "Reminder saved."
sc.snackbar.rightViews = [undoButton]
}
private func animateSnackbar() {
guard let sc = snackbarController else {
return
}
_ = sc.animate(snackbar: .visible, delay: 1)
_ = sc.animate(snackbar: .hidden, delay: 4)
}
@IBAction func testBtn(_ sender: AnyObject) {
print("TEST TEST TEST")
prepareSnackbar()
animateSnackbar()
}
}发布于 2016-10-05 22:39:37
如果您注意到viewDidAppear函数中有一个animateSnackbar调用,它调用行
_ = sc.animate(snackbar: .visible, delay: 1)
_ = sc.animate(snackbar: .hidden, delay: 4)您基本上可以在按钮处理程序中使用animateSnackbar函数,如下所示:
@IBAction func loginBtnTapped(_ sender: AnyObject) {
animateSnackbar()
}就这样。有两个动画播放,一个显示和一个隐藏小吃栏。设置您希望让它们自动出现和隐藏的延迟。
您可能希望从animateSnackbar方法中删除viewDidAppear调用,就像放在示例中的那样。
https://stackoverflow.com/questions/39883907
复制相似问题