在关键窗口上对视图进行动画处理,同时使用 UILongPressGestureRecognizer 拖动另一个视图



我已将UILongPressGestureRecognizer添加到视图中,长按事件后,用户可以拖动视图。

我使用以下代码在键窗口上添加了一个视图(需要导航和选项卡栏控制器上的自定义视图,这就是为什么需要在键窗口上添加它的原因):

// add the custom view on the key window.
UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;
[currentWindow addSubview:customView];

现在,当我将第一个视图拖到(screenSize/2)点之外时,我希望自定义视图从视图的右侧进行动画处理。我尝试使用以下代码来呈现视图:

// animate the customView view.
[UIView animateWithDuration:0.50f animations:^{        
        customView.frame = CGRectMake(SCREEN_WIDTH - customViewWidth, 0, customViewWidth, SCREEN_HEIGHT);
} completion:nil];

但视图没有出现,也没有动画。我什至尝试使用dispatch_async(dispatch_get_main_queue(),{});但仍然没有成功。

任何帮助将不胜感激。

你应该使用 UIAttachmentBehavior。

它指定两个动态项之间或动态项与锚点之间的动态连接。当动态项通过跟踪手势或其他输入移动时,任何附加的动态项也会移动 - 如果可能的话,给定其其他动态参数和边界。您可以使用附件的长度、阻尼和频率属性来配置附件行为。

最新更新