如何实现iPhone Photos编辑抽屉?

时间:2017-02-04 04:25:45

标签: ios iphone swift uiview

在“照片”应用中,编辑图像时(请参见屏幕截图)底部抽屉可以选择滑动。我想为我的应用实现此功能。最好的方法是什么?

我想创建一个具有模糊效果的UIView。但是,我不确定如何创建滑动动画。任何提示都将不胜感激。

相关问题:因为这个UIView会掩盖大部分主视图,是否可以在主视图之外(在故事板中)编辑它,所以它不会阻碍主视图?

iPhone Photos

1 个答案:

答案 0 :(得分:1)

我工作 - 实际上是抛光 - 类似的东西。我的风格是在代码中开发这种东西。如果你走这条路,你的第二个问题没有实际意义。

在代码中我创建了一个工具栏,使用自动布局在方向上从下向右旋转。这个工具栏 - 就像滑出的控制板一样 - 是你所谈论的模糊的UIVisualEffectView的子类。我喜欢" light"对我的应用有效,但是从截图中你可能已经"黑暗"。

" board",UIVisualEffectView也有UIButton,UISlider和UILabel子视图。这使得控件显示在模糊之上。

使用自动布局,我创建了两个约束数组(加上幻灯片数组) - 用于纵向,一个用于横向。 (这就像上面描述的那样只需要这种方式进行旋转。如果你善于将景物保持在底部,那么你可能没有阵列。)我根据方向激活/去激活。

以下是关键:To"滑入"我将高度(或横向宽度)设置为零并隐藏子视图然后设置动画。为了滑出电路板,我做了相反的事情。使用多个板我(再次)使用deactivate / activate,但你可以使用isActive = false / true。

设置约束后,我只是为视图设置动画。我从工具栏执行此操作,因此代码为:

UIView.animate(withDuration: 0.3) { self.superview?.layoutIfNeeded() }

如果您从视图控制器执行此操作,请将呼叫调整为layoutIfNeeded()

这是一个很多编码,但无论你使用IB还是直接代码,你都会在你面前做很多工作。我认为你也会发现通过IB设置和测试约束比你在代码中直接做的更重要。