UIScrollView就像iPad的Twitter应用程序

时间:2010-11-01 04:52:04

标签: ipad twitter uiscrollview custom-controls

我正在寻找一个教程或一些想法来制作一个看起来像iPad的Twitter应用程序中的自定义控制器,我的意思是左侧有主菜单的堆叠页面。提前感谢您的帮助!!

2 个答案:

答案 0 :(得分:11)

我们创建了一个模拟项目并添加到github

https://github.com/raweng/StackScrollView

答案 1 :(得分:2)

我有一个解决方案。

将表格视图放在左侧的侧边栏菜单中。 在顶部放置滚动视图。 将内容添加到滚动视图中。

滚动视图将覆盖表格视图。 将滚动视图的内容大小的宽度设置为内容宽度和侧边栏宽度的总和。 内容位置为(侧边栏宽度,0)。您可以将其拖动以覆盖或显示侧边栏。

问题是表视图无法接收任何触摸事件,因为它被滚动视图覆盖。

所以我实现了一个子类。

@interface UICascadeScrollView : UIScrollView {
        UIView* passthroughView_;
}

@property(nonatomic,assign) IBOutlet UIView* passthroughView;

@end

@implementation UICascadeScrollView

@synthesize passthroughView = passthroughView_;

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
        for( UIView* v in self.subviews ) {
                if( CGRectContainsPoint( v.frame, point ) ) {
                        // one of the sub view could accept the touch event
                        return [super hitTest:point withEvent:event];
                }
        }
        CGPoint newPoint = [self convertPoint:point toView:passthroughView_];
    return [passthroughView_ hitTest:newPoint withEvent:event];
}


- (void)dealloc {
        self.passthroughView = nil;
    [super dealloc];
}


@end

将scrollview类更改为UICascadeScrollView,并将passthroughView设置为侧栏。

就是这样。

=============================================== ===================================

三个级联图层的示例,其中表格视图为侧边栏。

git@github.com:slavikshen / CascadeScrollView.git

https://github.com/slavikshen/CascadeScrollView

这是我第一次提交git hub。如果有什么不妥,请告诉我。