Snapchat如何实现其设置的下拉菜单?

时间:2015-02-03 04:35:53

标签: ios objective-c xcode swift

我无法理解如何创建向下滑动手势以关闭另一个具有自己的对象和图像的屏幕,然后再刷回原始屏幕。

我目前有一个包含3个屏幕的滚动视图。 A | B | C和我正在尝试添加一个向上的手势来调出音符和向下的手势,以便从B中使用我自己的图像调低设置屏幕(例如,当你点击幽灵或者向下滑动幽灵时就像Snapchat一样)。所以理想情况下这样:

    D

A | B | C

    E

那我怎么能创造D& E可以通过手势触发向上和向下滑动视图......任何人都有任何想法如何在Swift中执行此操作?

2 个答案:

答案 0 :(得分:0)

您可以通过两种方式创建

1)创建一个视图(代码/笔尖)并将其autolayout约束设置在顶部(scrollView框架之外)一旦按下按钮或识别出向下滑动手势,您可以将约束常量值更改为scrollView's高度(请勿在更改后忘记调用layoutIfNeeded)。

2)使用容器视图(我建议使用nib),将所需的所有对象和按钮添加到容器视图中。在scrollView中,只需将容器用作任何其他视图即可为其设置动画。

重要提示:以太方式不要将视图/ containerView设置为scrollView.contentView的子视图,您需要将其添加到scrollView's superView,以便将其添加到UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(userSwipedDown:)]; swipe.direction = UISwipeGestureRecognizerDirectionDown; [self.view addGestureRecognizer:swipe]; 留在它的地方

修改

在viewDidLoad或其他东西

- (void)userSwipedDown:(UIGestureRecognizer *)gesture
{
  // if this method has been called then the user has swiped down
  // show the view
}

选择器实现

{{1}}

答案 1 :(得分:0)

我在我的应用程序中处理一个简单的功能,我只是想出来了。我有A | B | ({尚未进入C})scrollviewchild view controllers。在B中,我scrollviewsubview。对于原始父scrollview,我contentSize横向伸展。在B&#39的子视图scrollview中,我contentsize垂直延伸。

我知道你正在寻找快速的代码,但如果你知道你的obj-c,我想在swift中实现将非常简单。在发布这个答案时,我不熟悉Swift,但我确实计划很快学会它。