AnimationMenu水波动画菜单展示(Swift)

水波扩散的动画菜单,算是 UI 里挺吸睛的一种玩法了。这个 Swift 项目就把这个点玩得蛮溜,用的都是你熟悉的 Core Animation、CALayer 啥的,整套流程清晰易改,拿来就能用。

水波菜单的核心是CALayer叠加动画,视觉效果上像点水成波,用户一点击菜单按钮,动画就从点击点荡开。整个过程由动画控制器统筹,层次分明,交互也挺顺滑。

里面自定义的View类负责菜单的结构和波纹图层,动画效果靠UIBezierPath做路径,用CAAnimation加上动画曲线控制扩散范围。代码不复杂,逻辑清楚,蛮适合二次封装。

比较贴心的一点是,项目对交互事件的也做了优化,响应也快,比如手势位置和动画起点的对应关系就考虑得挺细致。加点透明度渐变、颜色过渡啥的,逼真度更上一层。

如果你最近刚好在做炫一点的菜单动效,或者想提升界面交互的趣味性,这个项目可以直接拿来参考,省事儿还靠谱。

zip
swift-AnimationMenu水波效果的菜单展示方式.zip 预估大小:85个文件
folder
AnimationMenu-master 文件夹
file
LICENSE 1KB
folder
AnimationMenu 文件夹
file
ViewController.swift 3KB
file
Info.plist 1KB
file
AppDelegate.swift 2KB
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
Main.storyboard 26KB
file
RoundButton.swift 766B
folder
Assets.xcassets 文件夹
folder
Payment-Off.imageset 文件夹
file
Payment-Off@3x.png 10KB
file
Payment-Off.png 3KB
file
Payment-Off@2x.png 7KB
file
Contents.json 390B
folder
Deals-On.imageset 文件夹
file
Deals-On.png 4KB
file
Deals-On@2x.png 9KB
file
Deals-On@3x.png 14KB
file
Contents.json 381B
folder
Rewards-On.imageset 文件夹
file
Rewards-On@2x.png 8KB
file
Rewards-On.png 4KB
file
Rewards-On@3x.png 14KB
file
Contents.json 387B
folder
Status-On.imageset 文件夹
file
Status-On@2x.png 7KB
file
Status-On@3x.png 12KB
file
Status-On.png 3KB
file
Contents.json 384B
folder
Calendar-On.imageset 文件夹
file
Calendar-On@3x.png 12KB
file
Calendar-On@2x.png 7KB
file
Calendar-On.png 3KB
file
Contents.json 390B
folder
Friends-On.imageset 文件夹
file
Friends-On.png 4KB
file
Friends-On@2x.png 8KB
file
Friends-On@3x.png 13KB
file
Contents.json 387B
folder
Calendar-Off.imageset 文件夹
file
Calendar-Off@3x.png 7KB
file
Calendar-Off@2x.png 5KB
file
Calendar-Off.png 3KB
file
Contents.json 393B
folder
Deals-Off.imageset 文件夹
file
Deals-Off.png 3KB
file
Deals-Off@2x.png 6KB
file
Deals-Off@3x.png 9KB
file
Contents.json 384B
folder
Payment-On.imageset 文件夹
file
Payment-On@3x.png 15KB
file
Payment-On@2x.png 9KB
file
Payment-On.png 4KB
file
Contents.json 387B
folder
Close.imageset 文件夹
file
slice1@3x.png 9KB
file
slice1@2x.png 6KB
file
slice1.png 3KB
file
Contents.json 375B
folder
Friends-Off.imageset 文件夹
file
Friends-Off.png 3KB
file
Friends-Off@2x.png 6KB
file
Contents.json 390B
file
Friends-Off@3x.png 9KB
folder
Status-Off.imageset 文件夹
file
Status-Off@3x.png 7KB
file
Status-Off@2x.png 5KB
file
Status-Off.png 3KB
file
Contents.json 387B
folder
Messenger-Off.imageset 文件夹
file
Messenger-Off.png 3KB
file
Messenger-Off@3x.png 8KB
file
Messenger-Off@2x.png 5KB
file
Contents.json 396B
folder
Menu.imageset 文件夹
file
slice2@3x.png 6KB
file
slice2.png 2KB
file
Contents.json 375B
file
slice2@2x.png 4KB
folder
AppIcon.appiconset 文件夹
file
Contents.json 753B
file
Contents.json 62B
folder
Menu Bar.imageset 文件夹
file
Menu@2x.png 5KB
file
Menu.png 3KB
file
Contents.json 369B
file
Menu@3x.png 7KB
folder
Messenger-On.imageset 文件夹
file
Messenger-On@2x.png 8KB
file
Messenger-On@3x.png 13KB
file
Contents.json 393B
file
Messenger-On.png 3KB
folder
Rewards-Off.imageset 文件夹
file
Rewards-Off.png 3KB
file
Rewards-Off@3x.png 9KB
file
Rewards-Off@2x.png 6KB
file
Contents.json 390B
folder
AnimationMenu.xcdatamodeld 文件夹
folder
AnimationMenu.xcdatamodel 文件夹
file
contents 297B
file
.xccurrentversion 181B
file
README.md 280B
folder
AnimationMenu.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 158B
folder
xcuserdata 文件夹
folder
Basil.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 485B
file
AnimationMenu.xcscheme 3KB
file
project.pbxproj 12KB
file
Demo.gif 966KB
...
zip 文件大小:1.29MB