作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 swift 创建自定义下拉菜单。我已经创建了菜单,并且正在尝试将其动画化。动画发生了,但是动画的效果有些乱。
请参阅此链接:https://drive.google.com/file/d/13BqdYphuCcZAoEV0jG1lyF0k43Pd2JYs/view?usp=sharing
我正在尝试获得正常的平滑下拉和上拉效果。请问有人可以建议吗?
我的代码:
var editButton: UIButton = {
let btn = UIButton()
btn.setTitle("Edit", for: .normal)
btn.backgroundColor = UIColor.appBlue.withAlphaComponent(0.5)
btn.addTarget(self, action: #selector(editTable), for: .touchUpInside)
btn.isHidden = true
return btn
}()
var createFolderButton: UIButton = {
let btn = UIButton()
btn.setTitle("Create Folder", for: .normal)
btn.backgroundColor = UIColor.appBlue.withAlphaComponent(0.5)
btn.addTarget(self, action: #selector(createFolder), for: .touchUpInside)
btn.isHidden = true
return btn
}()
var signOutButton: UIButton = {
let btn = UIButton()
btn.setTitle("Sign Out", for: .normal)
btn.backgroundColor = UIColor.appBlue.withAlphaComponent(0.5)
btn.addTarget(self, action: #selector(signOut), for: .touchUpInside)
btn.isHidden = true
return btn
}()
var allButtons: [UIButton]!
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
createDropDownMenu()
setUpNavigationButton()
allButtons = [createFolderButton, editButton, signOutButton]
}
private func createDropDownMenu(){
// StackView
let stackView = UIStackView()
stackView.axis = .vertical
stackView.distribution = .fill
stackView.alignment = .center
stackView.addArrangedSubview(createFolderButton)
stackView.addArrangedSubview(editButton)
stackView.addArrangedSubview(signOutButton)
editButton.translatesAutoresizingMaskIntoConstraints = false
editButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
editButton.widthAnchor.constraint(equalTo: stackView.widthAnchor).isActive = true
createFolderButton.translatesAutoresizingMaskIntoConstraints = false
createFolderButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
createFolderButton.widthAnchor.constraint(equalTo: stackView.widthAnchor).isActive = true
signOutButton.translatesAutoresizingMaskIntoConstraints = false
signOutButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
signOutButton.widthAnchor.constraint(equalTo: stackView.widthAnchor).isActive = true
view.addSubview(stackView)
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
stackView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
stackView.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
}
private func setUpNavigationButton(){
// NavigationBar Button
let rightButton = UIBarButtonItem.menuButton(target: self, action: #selector(expandMenu), imageName: "expand", navigationBar: navigationController!.navigationBar)
navigationController?.navigationBar.tintColor = .white
navigationItem.rightBarButtonItem = rightButton
}
@objc func expandMenu() {
print("expand menu")
for btn in allButtons!{
UIView.animate(withDuration: 2.0) {
btn.isHidden = !btn.isHidden // Give value of isHidden the opposite of what is currently is
}
}
}
最佳答案
只需使用 this pod,它消除了大部分头痛
关于swift - 自定义下拉菜单动画乱七八糟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57178736/
我关于套接字的代码分为三个类,现在我已经研究它(并学习套接字 Api)几个小时了,我已经把它归结为只剩下一个错误(我可以看)。从服务器收到的消息将不会打印,而是抛出此错误。 Exception in
当我打开个人热点连接时,我的布局被下推。我怎样才能删除顶部的这个热点栏或者得到这个栏的通知并根据它重新排列我的 View ?谢谢。 最佳答案 当状态栏的大小发生变化时,将调用您的应用程序委托(dele
我正在编写一个 Chrome 扩展,它在现有页面的顶部插入一个 DIV。我为我的 DIV 指定了不同的 ID 名称“juxiSidebar”。此外,我插入到页面中的所有 ID 和类都包含前缀“juxi
我正在为我的工作创建一个 Javascript 框架,支持最现代的浏览器(FF 4+、Chrome、Opera 11+、IE8+)。我在尝试扩展 prototype 时遇到了一些问题样式规则(假设 r
我是一名优秀的程序员,十分优秀!