UIButtons的小水平滚动视图

时间:2012-06-20 20:05:35

标签: iphone uiscrollview uibutton

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

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

2 个答案:

答案 0 :(得分:1)

确定按照步骤实施相同的步骤。

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

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

此处所有内存将由tableview管理,用于水平滚动中的n个按钮。

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

答案 1 :(得分: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:并且您将有机会通过image.size.width推进buttonPositionX而不是常量来改变宽度。

不确定如何解释您发布的图像每侧的小滚动箭头外观。另一个后续增强功能是使用与箭头相匹配的小图像视图(使用userInteractionEnabled = NO)覆盖每个末端。

相关问题