我正在尝试设置一个视图,该视图将显示这些点而不是实心条的进度。理想情况下,我想让点垂直填充(从下到上)。
我在 UIView 中有两个 UIImageView,一个用于灰色背景,一个用于遮蔽前景。
UIImage * bgImg = [UIImage imageNamed:@"prog_bg.png"];
UIImageView * bgView = [[UIImageView alloc] initWithImage:bgImg];
progImage = [UIImage imageNamed:@"prog.png"];
maskRef = [UIImage imageNamed:@"prog_mask.png"].CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef maskedImage = CGImageCreateWithMask([progImage CGImage], mask);
UIImage * img = [UIImage imageWithCGImage:maskedImage];
imageView = [[UIImageView alloc] initWithImage:img];
[progView addSubview:bgView];
[progView addSubview:imageView];
我在这个SO question中找到了代码。我似乎无法从我的代表中定义更新进度的蒙版宽度。