1

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

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

4

2 回答 2

1

好的,请按照步骤执行相同的操作。

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

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

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

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

于 2012-06-20T21:11:55.760 回答
0

在 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)。

于 2012-06-20T21:35:49.137 回答