gpt4 book ai didi

ios - 实现 Facebook Messenger 样式平移到全屏 View 类似效果

转载 作者:可可西里 更新时间:2023-11-01 02:59:41 25 4
gpt4 key购买 nike

我已经实现了 UIPageviewContoller 来支持在我的屏幕底部显示多个 viewcontoller View 。现在我的问题是如何在我的页面 View Controller 上支持 Facebook 样式的平移效果到这个 subview 。

我想实现他们在相机中应用的 Facebook 消息样式效果,因为用手指平移我们可以全屏查看。当我们向下平移相同的 View 时,它会在原始 View 内进行调整。为了更好地理解,我附上了一些屏幕。

subview have pan gesture pan up to full screen pandown to minimize after pan down reset to original postion

并且它应该支持集成弹出手势。

ienterative pop

我可以获得类似的效果,但为此我已经在主窗口中添加了 View ,因此 View 可以平移到全屏,但是通过这种方法我无法实现交互式弹出 iOS 默认手势,而且这种方法不适合我当前的 pageviewcontoller 实现。

如果在窗口中添加 View 而不是用户按下后退按钮,那么窗口元素将不会移动,它将保留在窗口中,因此 Windows 方法并不好。

还有其他方法可以达到类似的效果吗?UIViewControllerInteractiveTransitioning 对此有帮助吗??

提前致谢。我知道我会从你们那里得到更好的方法,这比向窗口添加 subview 更稳定。

最佳答案

您是否尝试过向您的 subview A 添加滑动手势?

UISwipeGestureRecognizer *swipeUp = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeScreen:)];
swipeUp.direction = UISwipeGestureRecognizerDirectionUp;
[yourSubViewA addGestureRecognizer:swipeUp];

它正在处理 -

- (void)didSwipeScreen:(UISwipeGestureRecognizer *)gesture {
switch (gesture.direction) {
case UISwipeGestureRecognizerDirectionUp: {
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{
[yourSubViewA setFrame:desiredFullScreenFrame];
} completion:^(BOOL finished) {
}];
}
break;
default:
break;
}
}

要恢复到默认位置,您可以使用 UISwipeGestureRecognizerDirectionDown 添加另一个滑动手势,或者可能只是一个点击手势。对于侧边菜单 MFSideMenu不错。

关于ios - 实现 Facebook Messenger 样式平移到全屏 View 类似效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26742098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com