在iOS 8今日扩展中拖动手势

我在Today小部件中使用了UIView子类.该视图使用滑动手势.但是,这些手势要么上下滚动整个通知中心,要么将通知中心从今天切换到通知.

有没有办法阻止触摸事件冒泡到Notification Center滚动视图?使用[self setExclusiveTouch:YES];在子类中没有解决它不幸.

解决方法

Is there any way to prevent the touch events to be bubbled up to the Notification Center scroll view? Using [self setExclusiveTouch:YES]; in the subclass did not solve it unfortunately.

不会.由于远程视图托管您的Today小部件正在内部显示,[self setExclusiveTouch:YES]并不能完全按照您的要求进行操作.

iOS 8.0中的粗略架构是:

[User touch creates a UITouch]
            |
            v
Notification Center (UIScrollView)
            |
            v
  UIRemoteView container
  (presents your UIView)
[crosses process boundary]
            |
            v
your Today widget's UIView

可以认为触摸在穿过过程边界时基本上被克隆了.您的视图的独有触摸欲望仅与您的窗口小部件的进程空间/窗口相关,并且不会向外传播到远程托管您的通知中心.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...