制作屏幕外可拖动视图(如 iOS 5 通知中心)

Posted

技术标签:

【中文标题】制作屏幕外可拖动视图(如 iOS 5 通知中心)【英文标题】:Make an offscreen dragable view (like iOS 5 Notification center) 【发布时间】:2012-04-28 20:50:25 【问题描述】:

我想在屏幕左侧创建一个最初不可见的视图。当手指从屏幕的最左侧平移时,左侧出现并跟随手指。我的意思和 ios 5 中的通知中心一模一样,但在左侧...

这是我想要的图片:http://i.imgur.com/Bb6tC.png

我的问题是下面的视图上有一个滚动视图,并且 PanGestures 正在干扰......

我试图在下面的视图中仅在这样的定义区域上捕捉触摸:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 

UIViewController *touchedVC = (UIViewController *)[gestureRecognizer.view nextResponder];  

CGPoint point = [touch locationInView:touchedVC.view]

if (point.x < SIDE_VIEWS_HANDLE_SIZE)) 
    return YES;

我也使用了委托方法

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

但是,我仍然无法让所有这些平移手势不相互干扰......请问有什么想法吗? :-)

【问题讨论】:

【参考方案1】:

结帐ECSlidingViewController。他们已经为这种类型的视图完成了繁重的工作。

【讨论】:

非常感谢您的帮助,帮助很大!【参考方案2】:

我还必须继承 UIScrollView 来捕获它的 UIGestureRecognizer 委托。

【讨论】:

以上是关于制作屏幕外可拖动视图(如 iOS 5 通知中心)的主要内容,如果未能解决你的问题,请参考以下文章

列表内可排序,外可拖动(可移动到任何地方)

在 iOS 8 Today Extensions 中拖动手势

如何使用 iOS 6 sdk 为 iPhone 4s 或 iPhone 4 制作视图控制器?

IOS5 中的本地通知 - 如何让它在屏幕上而不是在通知中心弹出?

iOS 制作两个视图覆盖全视图

为 iOS 5 通知中心设置应用默认值