我无法理解如何着手创建向下滑动手势来关闭覆盖层,该覆盖层是另一个具有自己的对象和图像的屏幕,然后能够滑动回到原始屏幕。
我目前有一个包含 3 个屏幕的 ScrollView 。一个 |乙 | C 和我正在尝试添加一个向上的手势来调出音符和向下的手势来关闭设置屏幕(就像当你点击幽灵或向下滑动幽灵时的 snapchat)和我自己的图像,来自 B。非常理想像这样:
D
A | B | C
E
那么我如何创建 D & E 来由手势触发向上和向下滑动 View ...有人知道如何在 Swift 中做到这一点吗?
最佳答案
您可以通过两种方式创建它
1) 创建一个 View (code/nib) 并在按下按钮后将其 autolayout
约束设置在顶部(在 scrollView
框架之外)或识别向下滑动手势您将约束常量值更改为 scrollView 的
高度(不要忘记在更改后调用 layoutIfNeeded
)。
2) 使用容器 View (我建议为此使用 nib),将您希望的所有对象和按钮添加到容器 View 。在 scrollView
中,只需像使用任何其他 View 一样使用容器来为其位置设置动画。
重要提示:请不要将 View /containerView
设置为 scrollView.contentView
的 subview ,您需要将其添加到 scrollView 的
superView 以使其留在原处
编辑
在 viewDidLoad 或其他东西中
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(userSwipedDown:)];
swipe.direction = UISwipeGestureRecognizerDirectionDown;
[self.view addGestureRecognizer:swipe];
选择器实现
- (void)userSwipedDown:(UIGestureRecognizer *)gesture
{
// if this method has been called then the user has swiped down
// show the view
}
关于ios - snapchat 是如何实现设置下拉菜单的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28291441/