【问题标题】:small horizontal scrollview with UIButtons带有 UIButtons 的小水平滚动视图
【发布时间】:2012-06-23 01:09:05
【问题描述】:

我想创建一个带有几个按钮的小型水平滚动视图,如图所示。用户可以选择其中任何一个,详细信息将相应显示。我不确定如何以编程方式对其进行编码。请帮忙。

图片:-http://i.stack.imgur.com/uDqkn.jpg

【问题讨论】:

    标签: iphone uiscrollview uibutton


    【解决方案1】:

    好的,按照步骤来实现。

    第 1 步:使用 UITableview 并应用仿射变换 90 度。 第 2 步:在每个单元格上取一个按钮,同时应用 90 度的仿射变换。 第 3 步:对于每个表格单元格的高度(现在你可以说宽度)将在 NSString 的 stringwidth 函数的帮助下计算。所以请在回调方法(heightforRowatIndexPath)中输入代码。 第 4 步:获取 tableview 层并应用值为 10.0f 的圆角属性 第 5 步:你可以为按钮的颜色做同样的事情。

    第 6 步:对于外部箭头,您需要实现一些 UIScrollview 模块。

    这里所有内存都将由 tableview 管理,用于水平滚动的 n 个按钮。

    谢谢, 如有任何问题请告诉我

    【讨论】:

      【解决方案2】:

      在 ARC 视图控制器中 ...

      #define kHEIGHT  35.0
      
      - (void)createButtonScrollViewWithButtonTitles:(NSArray *)titles {
      
          UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0,100.0,320.0,kHEIGHT)];
      
          CGFloat buttonPositionX = 0.0;
          for (NSString *title in titles) {
              UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
              [button addTarget:self action:@selector(pressedButton:) forControlEvents:UIControlEventTouchDown];
      
              [button setTitle:title forState:UIControlStateNormal];
              button.frame = CGRectMake(buttonPositionX, 0.0, 90.0, kHEIGHT);
              buttonPositionX += 90.0;
              [scrollView addSubview:button];
          }
          scrollView.contentSize = CGSizeMake(buttonPositionX, kHEIGHT);
          [self.view addSubview:scrollView];
      }
      

      完成这项工作后,您可以创建一个包含一组图像的版本。为此,按钮类型将更改为 UIButtonTypeCustom。您将使用 setImage: 而不是 setTitle: 并且您将有机会通过将 buttonPositionX 推进 image.size.width 而不是常量来改变宽度。

      不知道如何解释您发布的图片两侧看起来像滚动箭头的小东西。随后的另一个增强功能是在每一端覆盖一个与这些箭头匹配的小图像视图(userInteractionEnabled = NO)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多