清晰的 IBDesignable 视图具有黑色背景

Clear IBDesignable views have black background

我正在尝试创建一个 IBDesignable class,它在 Interface Builder 中呈现时可以具有透明背景。到目前为止,我得到了不透明的黑色背景。我已经设置了一个简单的问题演示:

我在 Interface Builder 的这个场景中放置了一个 UIView。你看不到它,因为它的背景很清楚。这才是场景应该的样子。

此屏幕截图中的唯一区别是我将之前不可见视图的 class 设置为 'DesignableView'。

这是 DesignableView 的完整实现 class:

#import <UIKit/UIKit.h>

IB_DESIGNABLE
@interface DesignableView : UIView
@end

@implementation DesignableView
- (void)drawRect:(CGRect)rect {
    //rendering code goes here
}
@end

有没有办法为 IBDesignable 视图提供正确的透明背景?

我只记得我是如何解决这个问题的。您需要覆盖 layoutSubviews

- (void)layoutSubviews
{
    [super layoutSubviews];

    self.backgroundColor = [UIColor clearColor];
}