不确定标题是否很清楚,但我不知道我正在寻找的东西的确切名称。我有一个由 UIButtons 组成的网格(基本上是一个音序器)。我想要一条类似于此图像中垂直线的线(在每行的第 8 和第 9 个按钮之间:
所以基本上当我的网格正在播放时,我想指出进度。知道我该怎么做吗?使用什么样的元素等等。
不确定标题是否很清楚,但我不知道我正在寻找的东西的确切名称。我有一个由 UIButtons 组成的网格(基本上是一个音序器)。我想要一条类似于此图像中垂直线的线(在每行的第 8 和第 9 个按钮之间:
所以基本上当我的网格正在播放时,我想指出进度。知道我该怎么做吗?使用什么样的元素等等。
您可以添加一个非常窄的 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;
}
您可以使用 UISlider 显示您的事件或活动的进度(不太清楚您的代码)并根据您的需要对其进行自定义。您可以查看Apple 的 UICatalog 示例代码以了解如何自定义 UISlider与其他元素或UISlider 教程