显示现有元素的进度线

时间:2012-05-11 20:38:36

标签: ios progress-bar sequence uibuilder

不确定标题是否非常清楚,但我不知道我正在寻找的东西的确切名称。我有一个由UIButtons(基本上是一个音序器)组成的网格。我想要一条类似于此图像中垂直线的线(在每行的第8和第9个按钮之间:

enter image description here

所以基本上当我正在播放我的网格时,我想表明进度。知道我怎么能这样做吗?使用什么样的元素等。

2 个答案:

答案 0 :(得分:1)

你可以添加一个非常窄的UIView,1或1.5像素。将背景颜色设置为白色或渐变。将此视图添加到与按钮相同的子视图中。

UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(100.0, 0.0, 1.5, 320.0)];
lineView.backgroundColor = [UIColor whiteColor];
[parentView addSubview:lineView];

要显示进度,您需要知道在完成之前剩余多少。取该值并除以320得到lineView高度。

CGRect frame = CGRectMake(100.0, 0.0, 1.5, 0);
lineView.frame = frame; // 0% complete

frame = CGRectMake(100.0, 0.0, 1.5, 160.0);
lineView.frame = frame; // 50% complete

frame = CGRectMake(100.0, 0.0, 1.5, 320.0);
lineView.frame = frame; // 100% complete

这就是主意。希望这有帮助。

更新到在屏幕上移动的竖线

UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 1.5, 320.0)];
lineView.backgroundColor = [UIColor whiteColor];
[parentView addSubview:lineView];

随着进展

- (void)progressWithValue(CGFloat)progress {
    CGRect frame = lineView.frame;
    frame.origin.x = progress;    // Change x position
    lineView.frame = frame;
}

答案 1 :(得分:0)

您可以使用UISlider显示您的活动或活动的进度(不太清楚您的代码)并根据您的需要进行自定义。您可以查看UICatalog sample code by Apple以了解自定义的知识UISlider以及其他元素或UISlider Tutorial