【问题标题】:UIScrollView like Twitter app for iPadUIScrollView 类似于 iPad 的 Twitter 应用程序
【发布时间】:2011-05-09 23:24:00
【问题描述】:

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

【问题讨论】:

  • 这是一项非常艰巨的任务。如果您确实提出了任何很酷的想法,我建议您将您的作品发布到 Github 存储库中,以便我们大家一起努力并改进它。

标签: ipad twitter uiscrollview custom-controls


【解决方案1】:

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

https://github.com/raweng/StackScrollView

【讨论】:

【解决方案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

将滚动视图类更改为 UICascadeScrollView 并将 passthroughView 设置为侧边栏。

就是这样。

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

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

git@github.com:slavikshen/CascadeScrollView.git

https://github.com/slavikshen/CascadeScrollView

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

【讨论】:

  • 该解决方案有效,但它不能像使用 Twitter iPad 应用程序那样处理 tableView 上的水平拖动以滚动 UICascadeScrollView。处理该技巧的任何提示?
  • 将一个 UICascadeScrollView A 作为内容放到另一个 UICascadeScrollView B 中。设置 A.passthroughView = B.
  • 不,只是像以前一样 hitTests UICascadeScrollView A。
猜你喜欢
  • 2013-09-20
  • 1970-01-01
  • 2014-01-01
  • 2011-05-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多