0
내가 설정에 이러한 점 대신 고체 바 진행률을 표시하는보기를 시도하고의 점 진전을 표시합니다. 이상적으로는 점들을 세로로 채우고 싶습니다 (아래에서 위로).
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에 있습니다. 진행을 업데이트하는 대리자의 마스크 너비를 정의 할 수 없습니다.
CGImageMaskCreate
에서 시도 할 수 있습니다. 진행 상황에 대한 업데이트가 발생할 때마다 마스크를 다시 작성해야합니까? 그 코드를 넣는 것만으로 효과가 없습니다. – ChickensDontClap