与透明部分的背景图象在iPhone应用程序的UIView

时间:2012-01-18 09:34:56

标签: iphone objective-c calendar transparent

实际上我在日历中显示事件,为此我在UIScrollview中添加事件的子视图。现在我想在我的特定事件中使一些部分透明。请查看下图。

enter image description here

所以我想让事件的背景图像与特定的框架透明。如果您对此有任何想法或任何其他选择,请告诉我。

1 个答案:

答案 0 :(得分:1)

以下是使用自定义drawLayer:inContext:方法为您的eventView自定义类(绘制事件的类)清除视图中的框架的基本解决方案。当然,您必须先从UIView继承一个类(例如MyEventViewClass)。 您还必须将opaque属性设置为NO

-(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context
{
       // Fill the bg with the color you want (here it is gray)
       // You can also draw an image (CGContextDrawImage:)
    CGContextSetFillColorWithColor(context, [UIColor grayColor].CGColor);
    CGContextFillRect(context, self.bounds);

      // Then clear the frame
    CGContextSetBlendMode(context, kCGBlendModeClear);
    CGContextFillRect(context, frameToClear);
}

清楚吗? ;)