想要创建一个视图,该视图内部有一个透明的框架,使得可以透过这个透明的框架看到在该视图后面的视图,但是该透明框架外的区域不会显示。因此实际上就是在视图内部创建了一个窗口。
希望能够像这样做:
CGRect hole = CGRectMake(100, 100, 250, 250);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor blackColor].CGColor);
CGContextFillRect(context, rect);
CGContextAddRect(context, hole);
CGContextClip(context);
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, rect);
但是清除并没有覆盖黑色,因此整个背景都是黑色。有没有类似的想法?