我正在尝试设置一个视图,显示这些点的进度而不是实心条。理想情况下,我希望垂直填充点(从下到上)。
我在UIView中有两个UIImageViews,一个用于灰色背景,另一个用于遮盖前景。
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找到了代码。我似乎无法定义代理中更新进度的掩码宽度。
答案 0 :(得分:0)
您可以在CGImageGetWidth(maskRef) * percentage
CGImageMaskCreate
吗?