自定义形状进度视图

时间:2012-02-04 10:06:43

标签: iphone ios ipad core-graphics

我正在寻找有关自定义进度视图的解决方案。

基本上,我想填写下面的图片来表示加载进度,就像我们在游戏中所拥有的一样。

enter image description here

任何想法如何实现它?

2 个答案:

答案 0 :(得分:0)

使用CoreGraphics屏蔽:

UIImage *img = [UIImage imageNamed:@"imagetomask.png"];
CGImageRef maskRef = [UIImage imageNamed:@"mask.png"].CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                                CGImageGetHeight(maskRef),
                                                CGImageGetBitsPerComponent(maskRef),
                                                CGImageGetBitsPerPixel(maskRef),
                                                CGImageGetBytesPerRow(maskRef),
                                                CGImageGetDataProvider(maskRef), NULL, false);

CGImageRef maskedImage = CGImageCreateWithMask([img CGImage], mask);
[imageView setImage:maskedImage];

您的mask.png应该是非透明图像填充,如倒置alpha - 黑色表示可见部分,白色表示透明。

答案 1 :(得分:0)

创建自定义视图类并在该类中添加动画序列,以无限顺序显示图像。

将此视图添加到主窗口,就像这样 (UIWindow *)[[UIApplication sharedApplication] .windows objectAtIndex:0];

调用bringSubviewToFront在您想要此加载屏幕(视图)的任何视图上显示该视图。