0

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

在此处输入图像描述

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

4

2 回答 2

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;
}
于 2012-05-11T20:56:15.373 回答
0

您可以使用 UISlider 显示您的事件或活动的进度(不太清楚您的代码)并根据您的需要对其进行自定义。您可以查看Apple 的 UICatalog 示例代码以了解如何自定义 UISlider与其他元素或UISlider 教程

于 2012-05-11T20:49:09.890 回答