8

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

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

界面生成器中空场景的屏幕截图

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

Interface Builder 场景的屏幕截图,中间有一个黑框

下面是 DesignableView 类的完整实现:

#import <UIKit/UIKit.h>

IB_DESIGNABLE
@interface DesignableView : UIView
@end

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

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

4

1 回答 1

11

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

- (void)layoutSubviews
{
    [super layoutSubviews];

    self.backgroundColor = [UIColor clearColor];
}
于 2015-01-02T20:43:24.897 回答