我想要实现的功能在Twitter here中显示。
我一直在网上查看几个资源,包括密歇根实验室的这个article,这对于通过在UITableView
我用这种方法看到的问题是,因为它在技术上不是UITableView
的一部分,所以标题不会响应向上/向下滚动手势。但是,当我下载Twitter应用程序时,标题会响应触摸。如何使标题对触摸手势敏感?
总结:我想复制那个显示配置文件图片,关注者,按钮和分段控件的中间部分,它们会折叠,直到只显示分段控件。
答案 0 :(得分:1)
滚动视图会显示它的手势处理程序,因此您只需将其添加到视图中即可。
view.addGestureRecognizer(scrollView.panGestureRecognizer)
此外,由于标题似乎位于表格视图中,因此您可以清除标题视图的userInteractionEnabled
,它会将手势发送到基础视图。
编辑:
由于手势一次只能属于一个视图,我建议使用此方法。覆盖UIView上的hittest
低级方法,以将事件引导到正确的视图。在标题视图上实现它,并始终返回表视图。您可以将表视图添加为标题视图中的属性,并将其设置为viewDidLoad
。
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
if self.pointInside(point, withEvent: event)
return self.tableView
return nil;
}
(下面的Objective-C版本)
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event])
return _nextView;
return nil;
}