FrostedSidebar 1.0.0

FrostedSidebar 1.0.0

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布最后发布2016年11月
SPM支持 SPM

Evan Dekhayser 维护。



  • 作者
  • Evan Dekhayser

FrostedSidebar

Swift 和 iOS 8 API 的汉堡菜单

深受 @_ryannystrom 的 RNFrostedSidebar 影响

此实现使用 iOS 8 中的新 UIVisualEffectView 对侧边栏应用模糊效果。在其它改动中,此侧边栏具有一个视图,通过模糊背景来转移焦点到显示的内容。

按钮在点击时具有相同的环形效果。按钮可以更自定义,我将稍后讨论。

使用方法

在示例项目中,添加侧边栏相对简单。

在您的 UIViewController 子类中创建一个属性。

var frostedSidebar: FrostedSidebar = FrostedSidebar(images: imageArray, colors: colorArray, selectionStyle: chosenSelectionStyle)

其中 images 包含按钮的图标,colors 包含图标的边框颜色,selectionStyle 是侧边栏项的选择行为(可以是 .None.Single.All)。

colors 参数是可选的,可以是 nil 或与 images 长度相同。

可以使用闭包设置按钮在被点击时执行操作

frostedSidebar.actionForIndex[idx] = { /* actions */ }

要显示侧边栏,在您的视控制器中使用以下代码

frostedSidebar.showInViewController( self, animated: true )

可以通过类似的方式将其关闭

frostedSidebar.dismissAnimated(true, completion: nil)

遵循 FrostedSidebarDelegate 的类必须实现以下方法

func sidebar(sidebar: FrostedSidebar, willShowOnScreenAnimated animated: Bool)
func sidebar(sidebar: FrostedSidebar, didShowOnScreenAnimated animated: Bool)
func sidebar(sidebar: FrostedSidebar, willDismissFromScreenAnimated animated: Bool)
func sidebar(sidebar: FrostedSidebar, didDismissFromScreenAnimated animated: Bool)
func sidebar(sidebar: FrostedSidebar, didTapItemAtIndex index: Int)
func sidebar(sidebar: FrostedSidebar, didEnable itemEnabled: Bool, itemAtIndex index: Int)

结论

如果没有 Ryan Nystrom 令人印象深刻的作品和 Jakub Antalík 在 Dribbble 上的出色设计,这一切都是不可能的。

希望有人觉得这很有用!