水平展开的uiscrollview还是uitableview?

Posted

技术标签:

【中文标题】水平展开的uiscrollview还是uitableview?【英文标题】:Horizontal expandable uiscrollview or uitableview? 【发布时间】:2013-03-27 14:24:52 【问题描述】:

我想创建一个可扩展的uiscrollview,如上图所示。 我尝试使用关键字进行搜索,但找不到任何与我想要实现的目标相似的示例。

我想知道我应该使用uiscrollview 还是uitableview

任何建议将不胜感激。

提前谢谢你。

【问题讨论】:

@Desdenova 谢谢,但我怎样才能使它像上面显示的图像一样可扩展? 这将有助于developer.apple.com/library/ios/#samplecode/PageControl/… 为什么不使用集合视图? @Fogmeister 可能是因为你也想针对 iOS5? 这将是一个正当的理由,但问题中没有提到这一点。再加上 90% 以上的设备在 iOS 6 上,它只会为用户群增加非常少(并且正在减少)的人数。 【参考方案1】:

您可以创建一个 UITableView,然后将其逆时针旋转 90 度,它会像魅力一样工作。

只需创建一个 UITableView 子类(i.r. Horizo​​ntalUITableView)并在 initWithFrame 中,将视图旋转 90 度:

- (id)initWithFrame:(CGRect)frame

    self = [super initWithFrame:frame];
    if (self) 
        // Initialization code
        self.transform = CGAffineTransformMakeRotation(-M_PI/2.0);
        self.showsVerticalScrollIndicator = NO;
    
    return self;

你还需要继承你的 UITableViewCell 并将它们旋转 90 度

【讨论】:

【参考方案2】:

假设我正确地解释了您的图像,我建议您首先创建一个 UIView 子类来代表其中一个堆栈。它将需要管理项目/图像列表,并能够在展开/折叠模式之间进行动画处理。然后创建一个 UIScrollView 子类来管理一组这些堆栈,并让它根据每个堆栈展开/折叠时的当前大小为堆栈的布局设置动画。

【讨论】:

以上是关于水平展开的uiscrollview还是uitableview?的主要内容,如果未能解决你的问题,请参考以下文章

水平 UIScrollView 中的多个垂直滚动 UIScrollView

调整 UITableView 高度(嵌入在 UIScrollView 中)

水平 UIScrollView 内部有垂直 UIScrollViews - 滚动外部水平视图时如何防止滚动内部滚动视图?

UIScrollView 中的水平滑动

具有水平滚动的嵌套 UIScrollViews

UIScrollView 水平滚动不起作用