使用滚动选项显示所有选项卡(在屏幕上应该只有4个选项卡)

时间:2012-12-06 12:35:24

标签: ios uiscrollview ios6 uitabbar uitabbaritem

我是iOS开发的新手。到目前为止我所做的如下。

  1. 创建新项目
  2. 删除了所有控制器并添加了View Controller。
  3. ScrollView
  4. 中拖动ViewController
  5. Tab Bar
  6. 中拖动ScrollView
  7. Tab Bar Item中拖动了7 Tab Bar
  8. 现在,当我执行这个项目时,屏幕上的所有7个标签都显示效果不佳。所以我计划首先只显示4个选项卡,如果用户水平滚动它,用户可以滚动并查看其余选项卡。

    所以,我想要实现的是在ScrollView中以编程方式设置一些参数,它只显示前4个选项。

    对此有何想法/建议?

2 个答案:

答案 0 :(得分:1)

编辑:

我认为这个可能更适合这种情况。与KLHorizo​​ntalSelect相反,它有点陈旧(一年没有在主分支上提交?)我没有使用它的经验,但它可以解决你的问题:InfiniTabBar

描述很简短:

  

滚动标签栏,其中包含无限项目的空间


也许你可以看看这个控件:KLHorizontalSelect

以下是它的样子:

enter image description here

我认为看起来并不是您想要的,但我认为它的作用几乎和您期望的一样。也许你可以从事设计工作?

答案 1 :(得分:0)

到目前为止,您还没有使用任何代码,但您必须这样做才能实现此目的。我会帮你的:

在viewcontroller底部创建一个scrollview。在其上创建UIViews并使它们的宽度为640(iPhone Retina屏幕宽度)。您可以在UIView上放置图像和标题,并将它们用作按钮。将内容大小设置为640/4 * 7然后就可以了。您可以为scrollview提供与UITabBar相同的图像,但是您需要this

此代码段可能会对您有所帮助:

for (int i = 0; i<7; i++){
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0 + 50*i,0, 50,50);
    [scrollView addSubview:view];
}

你必须将x原点与UIViews的宽度(加上一些余量)相乘,以确保它们不是全部在同一位置。