作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要根据提供的设计和计时来实现老虎机动画。
它应该执行无限滚动,直到触发某个事件。动画结束后,它应该减速并停在定义的位置
对于此任务,我使用了下一个解决方案:
UITableView
具有固定高度
单元格。它是同一个单元格,唯一的区别是图标或文本(取决于 indexPath.row
)Scroll
只能从下到上,这就是为什么我在 resetScrollPosition
方法中使用最后一个单元格作为起点contentOffset
执行的动画随线性选项变化。在完成 block 中,如果仍然需要动画,则会再次调用。如果不需要 - 使用 easeOut
选项启动减慢动画var isRolling: Bool = false
func startScroll() {
isRolling = true
UIView.animate(
withDuration: 0.05,
delay: 0,
options: .curveLinear,
animations: {
self.tableView.contentOffset.y -= self.rowHeight
},
completion: { _ in
if self.isRolling {
self.startScroll()
} else {
self.resetScrollPosition
UIView.animate(
withDuration: 0.7,
delay: 0,
options: .curveEaseOut,
animations: {
self.tableView.contentOffset.y -= 8 * self.rowHeight
},
completion: nil
)
}
})
}
private func resetScrollPosition() {
tableView.reloadData()
tableView.contentOffset.y = startOffset
tableView.reloadData()
}
func stopScroll() {
isRolling = false
}
问题:
最佳答案
将 UITableView
替换为 UIScrollView
已将代码上传到要点 - https://gist.github.com/OlesenkoViktor/76845c5448b421ead0a2303af2b1161d
感谢@Paulw11 his idea
关于ios - 使用 UITableView 的老虎机动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59423280/
代码运行良好。然而有一个小问题,如果后两个数字相同,则代码表示没有数字匹配。例如: 0 2 2没有匹配的数字再玩一次? (是/否?) 显然应该说: 0 2 2两个数字匹配再玩一次? (是/否?) 如何
我是一名 Python 新手,正在尝试创建一个模拟真机支出的老虎机模拟器。我在计算线路支出时遇到了问题,我确信有一种更智能的方法可以遍历线路并计算它们。 定义一些我将要使用的常量: SymbolMap
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我是一名优秀的程序员,十分优秀!